将相同的值分配给ggplot2中的多个主题元素

时间:2015-01-08 13:45:07

标签: r ggplot2

我觉得这是一个相当简单的问题,但我无法在任何地方找到它。我也无法在文档中找到任何内容。

ggplot2是否可以为多个theme元素分配相同的值?例如,我可以编写我的主题声明如下:

 theme(axis.text = element_text(colour = "gray25"), 
        axis.text.x = element_text(angle = 45, hjust = 1),
        line = element_line(colour = "gray25"),
        strip.text = element_text(face = "bold"),
        legend.title = element_text(colour = "gray25"),
        legend.text = element_text(colour = "gray25"),
        plot.title = element_text(colour = "gray25", face="bold",vjust=2))

但这似乎是高度重复的。是不是有类似于为多个元素分配相同值的连接?比如这样的东西。

   theme(axis.text & legend.title & legend.text & plot.title = element_text(colour = "gray25"),
        labels bold 
        axis.text.x = element_text(angle = 45, hjust = 1),
        strip.text = element_text(face = "bold"),
        plot.title = element_text(face="bold",vjust=2))

1 个答案:

答案 0 :(得分:2)

?theme中,您会发现"主题元素可以继承其他主题元素的属性"。对于所有单个主题元素,您可以找到它们继承的元素。因此,您可以尝试在顶级'中更改尽可能多的属性。为了避免冗余。您可以在official theme vignette中阅读更多内容,您还可以在其中查找元素之间继承的可视化: enter image description here

如果您希望重复使用theme(例如,针对特定期刊或发布商),您可以自定义并保存自己的themes。例如,您可以从default theme开始,进行更改,保存并使用它,只需将+ theme_bw_custom(或任何您的名字)添加到绘图代码的末尾即可。

另请参阅和ggthemes,这可以作为创建自己的themes时的起点。