12

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强制执行的默认绘图样式?

4

2 回答 2

11

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

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

阴谋

然后,如果您想为主题而疯狂,您可以安装ggthemes并简单地替换theme_gray()为您选择的任何主题,或者滚动您自己的主题。另请参阅此小插图以设置单个元素的样式。

于 2015-10-30T14:37:42.000 回答
2

正如评论中提到的,一旦你安装了cowplot包,你就可以使用操作符加载plot_grid()函数::(参见什么是 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"))

在此处输入图像描述

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

于 2018-06-04T15:25:30.997 回答