我创建了一个包含大量函数的包,可以生成ggplot图。
一开始,我使用了所有情节功能(灰色主题)的默认主题,但后来我发现黑白主题更加令人愉悦,并使用该主题开发了我最新的情节功能。
有没有办法全局设置ggplot2主题,即在一个地方,而不必在每次找到我想要应用于我所有情节的新主题时修改我的所有绘图功能?
答案 0 :(得分:37)
在这里,你应该再次附上包裹
library(ggplot2); theme_set(theme_bw())
答案 1 :(得分:9)
我的目的是设置
th <- theme()
在我的脚本顶部,然后将其包含在所有ggplots中。它需要在任何绘图特定主题之前添加,否则它将覆盖它们。
df <- data.frame(x = rnorm(100))
ggplot(df, aes(x = x)) +
geom_histogram() +
th +
theme(panel.grid.major = element_line(colour = "pink"))
稍后,您可以将th
更改为其他主题
theme_set
及相关函数theme_replace
和theme_update
可能是此问题的更好解决方案。他们不需要编辑现有代码。
g <- ggplot(df, aes(x = x)) +
geom_histogram() +
g
old <- theme_set(theme_bw()) #capture current theme
g
theme_set(old) #reset theme to previous
答案 2 :(得分:4)
现在有一个R包可以全局设置主题。 https://rstudio.github.io/thematic/
他们的示例代码:
library(thematic) thematic_on( bg = "#222222", fg = "white", accent = "#0CE3AC", font = font_spec("Oxanium", scale = 1.25) )
此后,每个图都会继承这些设置。