gpt4 book ai didi

r - 使用 cowplot 和 ggplot2 在某些行周围绘制边框

转载 作者:行者123 更新时间:2023-12-04 14:08:39 24 4
gpt4 key购买 nike

我想以某种方式表明应该将多面板图中的某些行放在一起进行比较。例如,我想制作这个情节:

enter image description here

看起来像这个图(用 PowerPoint 制作的面板周围有框):

enter image description here

这是我为使用第一个图而制作的代码。我使用了 ggplot 和 cowplot:

require(cowplot)
theme_set(theme_cowplot(font_size=12)) # reduce default font size
plot.mpg <- ggplot(mpg, aes(x = cty, y = hwy, colour = factor(cyl))) +
geom_point(size=2.5)
plot.diamonds <- ggplot(diamonds, aes(clarity, fill = cut)) + geom_bar() +
theme(axis.text.x = element_text(angle=70, vjust=0.5))
plot.mpg2 <- ggplot(mpg, aes(x = cty, y = hwy, colour = factor(cyl))) +
geom_point(size=2.5)
plot.diamonds2 <- ggplot(diamonds, aes(clarity, fill = cut)) + geom_bar() +
theme(axis.text.x = element_text(angle=70, vjust=0.5))
plot_grid(plot.mpg, plot.diamonds,plot.mpg2, plot.diamonds2, nrow=2,labels = c('A', 'B','C','D'))

我可以对此代码进行更改以获得我想要的边框吗?或者我什至可以使面板 A 和 B 的颜色与面板 C 和 D 的背景颜色略有不同?那可能会更好。

最佳答案

由于plot_grid()的结果是一个 ggplot 对象,一种方法是使用嵌套的绘图网格:一个 plot_grid()对于每一行,通过 theme() 添加适当的边框.

plot_grid(
# row 1
plot_grid(plot.mpg, plot.diamonds, nrow = 1, labels = c('A', 'B')) +
theme(plot.background = element_rect(color = "black")),

# row 2
plot_grid(plot.mpg2, plot.diamonds2, nrow = 1, labels = c('C', 'D')) +
theme(plot.background = element_rect(color = "black")),

nrow = 2)

plot

关于r - 使用 cowplot 和 ggplot2 在某些行周围绘制边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52175766/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com