ggplot2:使用多个图的选项

时间:2010-09-29 17:50:54

标签: r layout plot ggplot2

我想创建10个具有不同数据但具有相同光学外观的图。作为一个例子,我想改变每个图的网格线的颜色。这可以通过添加

来完成
+ opts(panel.grid.major = theme_line(colour = "white")

每个情节定义。但是,当我现在决定更改背景颜色让我们说“grey25”时,我必须单独修改每个绘图。这似乎太过分了。 ;)

所以,我想做像

这样的事情
opt1 <- '+ opts(panel.grid.major = theme_line(colour = "white")'

然后定义每个图,如

pl_x <- pl_x + opt1
pl_y <- pl_y + opt1
...

然后可以将其他选项(边距,字体,比例......)添加到opt1。 但是,这不起作用(尝试打印pl_x时出现错误消息)。任何人都知道如何完成我想做的事情?

我还使用了theme_set和theme_update,但除非我完全重新启动了R,否则我的情节不再有效。

1 个答案:

答案 0 :(得分:3)

您不必添加+号。

opt <- opts(panel.grid.major = theme_line(colour = "white"))

pl_x <- pl_x + opt

虽然这不起作用:

opt <- opts(...) + scale_y_continuous(..)

这样做:

opt <- opts(...)
syc <- scale_y_continuous(...)
pl_x <- pl_x + opt + syc

感谢Hadley的例子,这也有效:

opt <- list(opts(...),scale_y_continuous(...))

注意:由于版本0.9.2 optsreplace theme