创建结合主题和颜色的自定义ggplot2函数

时间:2016-01-06 09:20:05

标签: r ggplot2

我经常在ggplot2图表中使用theme_hc()主题(来自ggthemes包),结合scale_colour_pander()或scale_fill_pander()。我想制作一个名为myTheme的自定义函数,它将这三个函数合二为一。

我尝试了以下

myTheme <- function(){
  theme_hc() + scale_colour_pander() + scale_fill_pander()
}
data <- data.frame(x=1:2,y=3:4)
ggplot(data, aes(x=x, y=y)) + geom_point() + myTheme()

但显然R首先在函数内部对此进行评估并给出错误:&#39;错误:不知道如何将scale_colour_pander()添加到主题对象中。

然后我试了

myTheme <- function(){
  ggplot() + theme_hc() + scale_colour_pander() + scale_fill_pander()
}
data <- data.frame(x=1:2,y=3:4)
ggplot(data, aes(x=x, y=y)) + geom_point() + myTheme()

返回:&#39;错误:不知道如何在剧情中添加o&#39;

有没有办法达到预期效果,还是应该继续组合各个命令?

1 个答案:

答案 0 :(得分:6)

标准技术是将这些元素包装在列表中,

p + list( theme_hc() , scale_colour_pander() , scale_fill_pander())