我经常在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首先在函数内部对此求值并给出错误:“错误:不知道如何将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()
返回值:“错误:不知道如何在绘图中添加o”
有没有一种方法可以达到预期的效果,还是应该继续组合各个命令?
标准技术是将这些元素包装在列表中,
p + list( theme_hc() , scale_colour_pander() , scale_fill_pander())
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句