在以下示例中,如何正確地將嵌套圖的標簽居中?我想像第一個面板一樣將第二個面板的標簽/標題居中。
或者,使用多個標題/副標題代替標簽也可以(我試過使用標題,但在組合繪圖時下方圖表的標題消失了)。設定element_text(hjust = 0.5)在這里似乎也沒有任何影響。
library(ggplot2)
library(patchwork)
p1 <- ggplot(mtcars)
geom_point(aes(mpg, disp))
ggtitle('Plot 1')
p2 <- ggplot(mtcars)
geom_boxplot(aes(gear, disp, group = gear))
ggtitle('Plot 2')
p3 <- ggplot(mtcars)
geom_point(aes(hp, wt, colour = mpg))
ggtitle('Plot 3')
p4 <- ggplot(mtcars)
geom_bar(aes(gear))
facet_wrap(~cyl)
ggtitle('Plot 4')
ptop <- p1
pbot <- p1 p2 p3 p4
combined <- ptop pbot
plot_layout(ncol = 1, guides = "collect")
plot_annotation(tag_levels = list(c("(a) Panel a", "(b) Panel b "))) &
theme(plot.tag = element_text(hjust = 0.5, size = 30),
plot.tag.position = "top",
legend.position = "bottom")
combined

uj5u.com熱心網友回復:
我能夠將它cowplot作為補充來使用
library(ggplot2)
library(patchwork)
library(cowplot)
p1 <- ggplot(mtcars)
geom_point(aes(mpg, disp))
ggtitle(label = "",
subtitle = 'Plot 1')
p2 <- ggplot(mtcars)
geom_point(aes(mpg, disp))
ggtitle(label = "",
subtitle = 'Plot 1')
p3 <- ggplot(mtcars)
geom_boxplot(aes(gear, disp, group = gear))
ggtitle(label = "",
subtitle = 'Plot 2')
p4 <- ggplot(mtcars)
geom_point(aes(hp, wt, colour = mpg))
ggtitle(label = "",
subtitle = 'Plot 3')
theme(legend.position = "none")
p5 <- ggplot(mtcars)
geom_bar(aes(gear))
facet_wrap(~cyl)
ggtitle(label = "",
subtitle = 'Plot 4')
ptop <- p1 plot_annotation("(a) Panel a")& theme(plot.title = element_text(hjust = 0.5))
pbot <- p2 p3 p4 p5 plot_annotation("(b) Panel b") & theme(plot.title = element_text(hjust = 0.5))
legend_b <- get_legend(
p4
theme(legend.position = "bottom",
legend.direction = "horizontal")
)
plot_grid(ptop, pbot, legend_b, ncol = 1, nrow = 3, rel_heights = c(1, 1,0.25))

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/335803.html
上一篇:為2個分類變數之間的ggalluvial圖形成資料框?
下一篇:使用ggplot繪制邏輯回歸線:警告訊息:“stat_smooth()”中的計算失敗:未使用的引數(資料=資料)
