【问题标题】:Disable cowplot default for ggplots禁用ggplots的cowplot默认值
【发布时间】:2016-01-31 00:19:19
【问题描述】:

ggplot2 附加包cowplot 有一个很好的绘制多个绘图的函数,称为plot_grid()。这是plot_grid() 在行动:

library(ggplot2); library(cowplot)

plot_a <- ggplot(mtcars, aes(mpg, wt)) + geom_point()
plot_b <- ggplot(mtcars, aes(mpg, disp)) + geom_point()

plot_grid(plot_a, plot_b, labels = c("A", "B"))

但请注意加载 cowplot 如何更改绘图的默认样式。如何加载cowplot 包,以便我可以使用plot_grid() 函数,同时禁用cowplot 强制执行的默认绘图样式?

【问题讨论】:

  • 你能不加载cowplot然后只使用cowplot::plot_grid()吗?
  • 不——只要你打电话给library(cowplot),ggplot 的行为就会改变。
  • 从 1.0 版开始,cowplot 不再设置默认主题。 wilkelab.org/cowplot/articles/introduction.html

标签: r plot ggplot2 visualization cowplot


【解决方案1】:

如 cmets 中所述,一旦您安装了 cowplot 包,您就可以使用 :: 运算符加载 plot_grid() 函数(请参阅 What are the double colons (::) in R?),并且 cowplot 不会更改任何 ggplot2 默认值.

> plot_a <- ggplot(mtcars, aes(mpg, wt)) + geom_point()
> plot_b <- ggplot(mtcars, aes(mpg, disp)) + geom_point()
> plot_grid(plot_a, plot_b, labels = c("A", "B"))
Error in plot_grid(plot_a, plot_b, labels = c("A", "B")) : 
  could not find function "plot_grid"

> cowplot::plot_grid(plot_a, plot_b, labels = c("A", "B"))

当您使用library()require() 加载整个cowplot 包时会出现问题。

【讨论】:

  • 很好 ?,这救了我的培根。这是一个比公认的更好的答案,因为它避免了完全覆盖默认值的问题,而不是试图覆盖覆盖......
【解决方案2】:

只需提前致电theme_set(theme_gray())

theme_set(theme_gray())
plot_grid(plot_a, plot_b, labels = c("A", "B"))

然后,如果您想疯狂地使用主题,您可以安装 ggthemes 并简单地将 theme_gray() 替换为您选择的任何主题,或者滚动您自己的主题。另请参阅 this vignette 了解单个元素的样式。

【讨论】:

    猜你喜欢
    • 2020-06-07
    • 2020-01-24
    • 1970-01-01
    • 2020-11-14
    • 1970-01-01
    • 2021-04-17
    • 1970-01-01
    • 2014-11-08
    • 1970-01-01
    相关资源
    最近更新 更多