我刚刚开始探索ggplot2,而且我目前还没有对它经常使用的aes对象有所了解。我已经尝试了几种方法来解决这个问题,但它还没有奏效。任何帮助将不胜感激!
所以,我有一个数据框,我已经专门为了绘图而分类,看起来像这样:
> ggplotframe[1:8,]
gamma weights assets
1 0.002 0.25 1
2 0.002 0.25 2
3 0.002 0.25 3
4 0.002 0.25 4
5 0.004 0.25 1
6 0.004 0.25 2
7 0.004 0.25 3
8 0.004 0.25 4
现在,我想绘制一个堆积区域图表,显示每个weights
的{{1}},asset
会发生变化。由于此示例中有4个资产,因此每个gamma值有4个不同的权重,每个资产对应一个资产,并且对数百个此类值进行测试。
现在,我尝试过的方法之一是:
gamma
但在这种情况下,控制台会闪烁错误:gg <- ggplot(ggplotframe, aes(x=gamma, y=weights))
gg <- gg + geom_area(aes(colour=assets, fill=assets))
gg
。我该如何解决这个问题?
答案 0 :(得分:0)
您不必将资产列转换为显式因素,您可以在ggplot调用中将factor()
放在fill
geom_area
附近。
gg <- ggplot(ggplotframe, aes(x = gamma, y = weights))
gg <- gg + geom_area(aes(colour = factor(assets), fill = factor(assets)))
gg