ggplot2:使用geom_area()函数

ggplot2:使用geom_area()函数,r,ggplot2,R,Ggplot2,我有一个数据框,显示了每年的四个班级,以及他们各自占当年总数的份额 > 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,我会得到一个统一的灰色框,正如预期的那

我有一个数据框,显示了每年的四个班级,以及他们各自占当年总数的份额

> 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
,我会得到一个统一的灰色框,正如预期的那样

> ggplot(df, aes(x=year, y=share, group=class)) + geom_area() + scale_fill_brewer()
所以我尝试添加
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
> 
我可以对
因子做些什么才能使其与
scale\u fill\u brewer()一起正常工作
?显然,这个想法是根据图形的类别对每个区域进行着色


谢谢。

问题出在我设置的一些主题参数上,所以当我开始构建一个可运行的示例在这里重现时,它就消失了。谢谢你的帮助。

问题出在我设置的一些主题参数上,所以当我开始构建一个可运行的示例在这里重现时,它就消失了。谢谢你的帮助。

我刚刚遇到了这个问题。是的

theme_set(theme_bw(base_size=9))
报告错误的结果。但是

base_size <- 9
theme_set(theme_bw(base_size=base_size))

base\u size我刚刚遇到了这个问题。是的

theme_set(theme_bw(base_size=9))
报告错误的结果。但是

base_size <- 9
theme_set(theme_bw(base_size=base_size))

base\u size使用您向我们展示的上述数据样本,我没有收到这样的错误消息,而且一切正常。也许你可以尝试关闭并重新打开R会话,看看这是否有帮助。你能提供一个可运行的示例吗?我怀疑用“class”这样的保留字作为你专栏的名字。也许就是这样?我实际上更改了列名以消除数据,所以问题在“class”字段名前后都存在,但我将创建一个新的data.frame并发布一个可运行的示例。使用您上面显示的数据示例,我没有收到这样的错误消息,并且一切正常。也许你可以尝试关闭并重新打开R会话,看看这是否有帮助。你能提供一个可运行的示例吗?我怀疑用“class”这样的保留字作为你专栏的名字。也许就是这样?我实际上修改了列名以消除数据,所以问题出现在“class”字段名之前和之后,但我将创建一个新的data.frame并发布一个可运行的示例。