如何在 ggplot2 中创建并排图


通常,您可能希望使用 R 中的ggplot2包并排创建两个绘图。幸运的是,在patchwork包的帮助下这很容易做到。

 #install ggplot2 and patchwork packages
install.packages(' ggplot2 ')
install.packages(' patchwork ')

#load the packages 
library(ggplot2)
library(patchwork)

本教程展示了使用这些包创建并排图的几个示例。

示例 1:并排的两个图

以下代码演示了如何使用 R 的内置iris数据集创建两个并排绘图:

 #create box plot
plot1 <- ggplot(iris, aes(x = Species, y = Sepal.Length)) +
  geom_boxplot()

#create density plot
plot2 <- ggplot(iris, aes(x = Sepal.Length, fill = Species)) +
  geom_density(alpha = 0.8)

#display plots side by side
plot1 + plot2 

R 中 ggplot2 中的并排图

示例 2:并排的三个图

以下代码演示了如何使用 R 的内置iris数据集创建三个并排图:

 #create box plot
plot1 <- ggplot(iris, aes(x = Species, y = Sepal.Length)) +
  geom_boxplot()

#create density plot
plot2 <- ggplot(iris, aes(x = Sepal.Length, fill = Species)) +
  geom_density(alpha = 0.7)

#create scatterplot 
plot3 <- ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width)) +
  geom_point()

#display three plots side by side
plot1 + plot2 + plot3

ggplot2 中并排的三个图

示例 3:两个堆叠图

以下代码显示了如何创建两个堆叠图,一个位于另一个之上:

 #create box plot
plot1 <- ggplot(iris, aes(x = Species, y = Sepal.Length)) +
  geom_boxplot()

#create density plot
plot2 <- ggplot(iris, aes(x = Sepal.Length, fill = Species)) +
  geom_density(alpha = 0.7)

#display plots stacked on top of each other
plot1 / plot2 

ggplot2 中的两个堆积图

示例 4:添加标题、副标题和说明文字

以下代码显示了如何向绘图添加标题、副标题和说明文字:

 #create box plot
plot1 <- ggplot(iris, aes(x = Species, y = Sepal.Length)) +
  geom_boxplot() +
  ggtitle('Boxplot')

#create density plot
plot2 <- ggplot(iris, aes(x = Sepal.Length, fill = Species)) +
  geom_density(alpha = 0.7) +
  ggtitle('Density Plot')

#display plots side by side with title, subtitle, and captions
patchwork <- plot1 + plot2 

patchwork + plot_annotation(
  title = ' This is a title ',
  subtitle = ' This is a subtitle that describes more information about the plots ',
  caption = ' This is a caption '
)

ggplot2 中带有标题和副标题的并排图

您可以在此处找到更多 R 教程。

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注