ggplot2:使用geom_area()函数

时间:2009-11-11 17:00:03

标签: 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时,我会按预期获得一个统一的灰色框。

> 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
> 

我可以对class因素做些什么来使其与scale_fill_brewer()一起正常使用?显然,这个想法是根据类别对图表的每个区域进行着色。

感谢。

2 个答案:

答案 0 :(得分:1)

我刚遇到这个问题。接缝

theme_set(theme_bw(base_size=9))

导致报告错误。但

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

作品。

我用Google搜索并在learnr blog

找到了示例

我不知道第一个例子不起作用了吗?

答案 1 :(得分:0)

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