我有一个数据框,显示每年的四个类,以及他们各自在当年的总数。ggplot2:使用geom_area()函数
> head(df)
class year share
1 class1 1975 0.806
2 class2 1975 0.131
3 class3 1975 0.018
4 class4 1975 0.045
5 class1 1976 0.788
6 class2 1976 0.151
当我运行ggplot
没有指定fill
,我得到一个统一的灰色框,符合市场预期。因此我尝试添加fill=class
,但它不起作用。
> ggplot(df, aes(x=year, y=share, group=class, fill=class)) + geom_area() + scale_fill_brewer()
Error in inherits(x, "factor") : object "base_size" not found
In addition: Warning message:
In inherits(x, "factor") : restarting interrupted promise evaluation
>
什么我可以做的class
因素得到它正确地scale_fill_brewer()
工作?显然,这个想法是根据其类来遮蔽图的每个区域。
谢谢。
使用上面向我们显示的数据样本,我不会收到这样的错误消息,并且所有事情都按预期工作。也许你可以尝试关闭并重新打开R会话,看看这是否有帮助。 – learnr 2009-11-11 17:21:41
你可以把一个可运行的例子放在一起吗?我怀疑使用像“class”这样的保留字作为列的名称。也许就是这样? – 2009-11-11 17:44:14
我实际上改变了列名来消毒数据,所以问题出现在“class”字段名称前后,但我会创建一个新的data.frame并发布一个可运行的示例。 – 2009-11-11 17:48:30