在分隔的 windows 中使用 facet_wrap 创建多个图
Creating multiple plots with facet_wrap in separated windows
我在 ggplot
中使用函数 facet_wrap
创建了多个绘图
tmp %>%
ggplot( aes(x, y)) +
geom_line( data=tmp %>% dplyr::select(-ID), aes(group=ID2), color="grey", size=0.5, alpha=0.5) +
geom_line( aes(color=ID), color="#69b3a2", size=1.2 )+
scale_color_viridis_d() +
theme_ipsum() +
theme(
legend.position="none",
plot.title = element_text(size=14),
panel.grid = element_blank()
) +
ggtitle("Example") +
facet_wrap(~ID)
而且我正确地获得了多个地块,都在 window 中。我怎样才能获得这些分开的多个地块,每个地块都在一个单独的 window?
谢谢
您可以根据分面变量拆分数据集,然后将数据集列表传递给绘图函数以创建一系列绘图。这是一个使用 iris
数据集的简单示例。
library(ggplot2)
split_iris <- split(iris, iris$Species)
my_plot <- function(dat) {
ggplot(dat, aes(x = Sepal.Length, y = Sepal.Width)) +
geom_point() +
labs(title = unique(dat$Species))
}
lapply(split_iris, my_plot)
我在 ggplot
facet_wrap
创建了多个绘图
tmp %>%
ggplot( aes(x, y)) +
geom_line( data=tmp %>% dplyr::select(-ID), aes(group=ID2), color="grey", size=0.5, alpha=0.5) +
geom_line( aes(color=ID), color="#69b3a2", size=1.2 )+
scale_color_viridis_d() +
theme_ipsum() +
theme(
legend.position="none",
plot.title = element_text(size=14),
panel.grid = element_blank()
) +
ggtitle("Example") +
facet_wrap(~ID)
而且我正确地获得了多个地块,都在 window 中。我怎样才能获得这些分开的多个地块,每个地块都在一个单独的 window?
谢谢
您可以根据分面变量拆分数据集,然后将数据集列表传递给绘图函数以创建一系列绘图。这是一个使用 iris
数据集的简单示例。
library(ggplot2)
split_iris <- split(iris, iris$Species)
my_plot <- function(dat) {
ggplot(dat, aes(x = Sepal.Length, y = Sepal.Width)) +
geom_point() +
labs(title = unique(dat$Species))
}
lapply(split_iris, my_plot)