R ggplot2-如何向多个绘图图形添加标签?
我需要使用R ggplot2-如何向多个绘图图形添加标签?,r,ggplot2,label,add,cowplot,R,Ggplot2,Label,Add,Cowplot,我需要使用cowplot,将一个x标签和一个y标签添加到以下多个绘图图形中: library(ggplot2 set.seed(99) x_1 = data.frame(z = rnorm(100)) x_2 = data.frame(z = rnorm(100)) x_3 = data.frame(z = rnorm(100)) lst = list(x_1, x_2, x_3) lst_p = list() for (i in 1:length(lst)) { lst_p[[
cowplot
,将一个x标签和一个y标签添加到以下多个绘图图形中:
library(ggplot2
set.seed(99)
x_1 = data.frame(z = rnorm(100))
x_2 = data.frame(z = rnorm(100))
x_3 = data.frame(z = rnorm(100))
lst = list(x_1, x_2, x_3)
lst_p = list()
for (i in 1:length(lst)) {
lst_p[[i]] = ggplot(data=lst[[i]], aes(lst[[i]]$z)) +
geom_histogram() +
xlab("X LAB") +
ylab("Y LAB")
}
p_no_labels = lapply(lst_p, function(x) x + xlab("") + ylab(""))
title = cowplot::ggdraw() + cowplot::draw_label("test", size = 20)
p_grid = cowplot::plot_grid(plotlist = p_no_labels, ncol = 1)
print(cowplot::plot_grid(title, p_grid,
ncol = 1, rel_heights = c(0.05, 1, 0.05)))
x标签应位于底部,y标签应位于左侧
有什么快速的方法吗?
感谢如果您不需要使用cowplot
(它解决的大多数缺陷现在都是ggplot2
的一部分),以下是一个解决方案:
df <- cbind(fct = rep(c('z1', 'z2', 'z3'), each = 100),
val = rbind(x_1, z2 = x_2, z3 = x_3))
ggplot(df) +
geom_histogram(aes(x = val)) +
facet_wrap(vars(fct), nrow = 3) +
labs(x = "X LAB", y = "Y LAB", title = "test") +
theme(strip.background = element_blank(),
strip.text = element_blank(),
plot.title = element_text(hjust = 0.5))
df如果您不需要使用cowplot
(它解决的大多数缺陷现在都是ggplot2
)的一部分,下面是一个解决方案:
df <- cbind(fct = rep(c('z1', 'z2', 'z3'), each = 100),
val = rbind(x_1, z2 = x_2, z3 = x_3))
ggplot(df) +
geom_histogram(aes(x = val)) +
facet_wrap(vars(fct), nrow = 3) +
labs(x = "X LAB", y = "Y LAB", title = "test") +
theme(strip.background = element_blank(),
strip.text = element_blank(),
plot.title = element_text(hjust = 0.5))
df这里有一个相关问题:这里有一个相关问题: