R 如何通过将主题作为ggplot2中函数的参数传递来绘制不同的主题?
我引用了一些关于传递函数的文章作为参数,我希望随后可以使用ggplot2生成具有不同主题的情节。以下两个功能可以正确绘制:R 如何通过将主题作为ggplot2中函数的参数传递来绘制不同的主题?,r,plot,ggplot2,R,Plot,Ggplot2,我引用了一些关于传递函数的文章作为参数,我希望随后可以使用ggplot2生成具有不同主题的情节。以下两个功能可以正确绘制: # plot data dat <- diamonds[sample(1:nrow(diamonds), 5000), ] gplot1 <- function(FUN = theme_bw) { ggplot(dat, aes(carat, price))+ geom_point(aes(colour = color))+ FUN
# plot data
dat <- diamonds[sample(1:nrow(diamonds), 5000), ]
gplot1 <- function(FUN = theme_bw) {
ggplot(dat, aes(carat, price))+
geom_point(aes(colour = color))+
FUN()
}
gplot1(theme_gray)
gplot2 <- function(FUN) {
theme_set(FUN)
ggplot(dat, aes(carat, price))+
geom_point(aes(colour = color))
}
gplot2(theme_bw())
#绘图数据
dat您可以使用lappy
:
ps <- lapply(themes1, gplot1)
ps[[1]]
对于(主题1中的我)打印(gplot1(i))
我首先阅读了Marco Sandri的答案,我尝试了“对于(主题1中的我:长度(ps))打印(ps[[i]])”,得到了我需要的,然后我注意到了您的评论,我认为您的代码比我的更简洁,非常感谢!
ps <- lapply(themes1, gplot1)
ps[[1]]
ps[[2]]