ggplot2 geom_bar 填充美学
ggplot2 geom_bar fill aesthetic
我有以下代码来绘制不同国家/地区的合同。
Country <- CCOM$Principal.Place.of.Performance.Country.Name
Val <- CCOM$Action_Absolute_Value
split <- CCOM$Contract.Category
ggplot(CCOM, aes(x = Country, y = Val, fill = levels(split))) +
geom_bar(stat = "identity")
我想要一个简单的堆叠条形图,其中条形图按合约类别着色,即变量 "split"(即 CCOM$Contract.Category)。
然而,当我 运行 代码生成下图时:
为什么 gplot 不将支出分成三个不同的块?为什么我的颜色部分散布在整个图表中。?我试过使用 factor(split) 和 levels(split) 但似乎不起作用。可能是我放错位置了。
按照您的建议order
提供了解决方案:
ggplot(CCOM[order(CCOM$split), ], aes(x = Country, y = Val, fill = Contract.Category)) +
geom_bar(stat = "identity")
我有一个类似的例子,我使用 fill
的等效项作为 Contact.Category
,它仍然需要重新排序。
啊,我才反应过来怎么回事。你似乎害怕修改你的数据框,别这样!为 ggplot
创建外部向量是自找麻烦。与其将 Country
和 Val
创建为松散向量,不如将它们作为列添加到数据中:
CCOM$Country <- CCOM$Principal.Place.of.Performance.Country.Name
CCOM$Val <- CCOM$Action_Absolute_Value
那么你的剧情就很好很直接,不用担心顺序什么的。
ggplot(CCOM, aes(x = Country, y = Val, fill = Contract.Category)) +
geom_bar(stat = "identity")
我有以下代码来绘制不同国家/地区的合同。
Country <- CCOM$Principal.Place.of.Performance.Country.Name
Val <- CCOM$Action_Absolute_Value
split <- CCOM$Contract.Category
ggplot(CCOM, aes(x = Country, y = Val, fill = levels(split))) +
geom_bar(stat = "identity")
我想要一个简单的堆叠条形图,其中条形图按合约类别着色,即变量 "split"(即 CCOM$Contract.Category)。
然而,当我 运行 代码生成下图时:
为什么 gplot 不将支出分成三个不同的块?为什么我的颜色部分散布在整个图表中。?我试过使用 factor(split) 和 levels(split) 但似乎不起作用。可能是我放错位置了。
按照您的建议order
提供了解决方案:
ggplot(CCOM[order(CCOM$split), ], aes(x = Country, y = Val, fill = Contract.Category)) +
geom_bar(stat = "identity")
我有一个类似的例子,我使用 fill
的等效项作为 Contact.Category
,它仍然需要重新排序。
啊,我才反应过来怎么回事。你似乎害怕修改你的数据框,别这样!为 ggplot
创建外部向量是自找麻烦。与其将 Country
和 Val
创建为松散向量,不如将它们作为列添加到数据中:
CCOM$Country <- CCOM$Principal.Place.of.Performance.Country.Name
CCOM$Val <- CCOM$Action_Absolute_Value
那么你的剧情就很好很直接,不用担心顺序什么的。
ggplot(CCOM, aes(x = Country, y = Val, fill = Contract.Category)) +
geom_bar(stat = "identity")