我有下面的代码绘制在不同国家的合同。
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")
我想与合同类别,它是变量“分裂”五色棒的简单堆积条形图(即CCOM $ Contract.Category)。
然而,当我运行代码它产生下图:
为什么不会gplot支出分成三个不同的块? 为什么会分散在整个图表的颜色部分? 我一直在使用因子(分割)和级别(分)尝试,但似乎并没有工作。 也许我把它在错误的位置。
按照你的建议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")