在分隔的 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)