📜  如何在 R 中绘制多个直方图?(1)

📅  最后修改于: 2023-12-03 15:38:25.020000             🧑  作者: Mango

如何在 R 中绘制多个直方图?

在 R 中绘制多个直方图可以使用 ggplot2 包中的 facet_wrap 函数或者 gridExtra 包中的 grid.arrange 函数。

1. 使用 ggplot2 包中的 facet_wrap 函数

ggplot2 包中的 facet_wrap 函数可以将数据集中的变量按照指定的变量进行分组,并将每组数据绘制成一个直方图。

示例代码
library(ggplot2)

# 导入数据
data(diamonds)

# 绘制直方图
ggplot(diamonds, aes(x = price)) +
  geom_histogram(binwidth = 500) +
  facet_wrap(~ cut, nrow = 2)
示例结果

ggplot2-facet-wrap

2. 使用 gridExtra 包中的 grid.arrange 函数

gridExtra 包中的 grid.arrange 函数可以将多个绘图对象组合成一个完整的图像。

示例代码
library(ggplot2)
library(gridExtra)

# 导入数据
data(diamonds)

# 绘制直方图
p1 <- ggplot(diamonds, aes(x = price)) +
      geom_histogram(binwidth = 500) +
      ggtitle("cut = Fair")

p2 <- ggplot(diamonds, aes(x = price)) +
      geom_histogram(binwidth = 500) +
      ggtitle("cut = Good")

p3 <- ggplot(diamonds, aes(x = price)) +
      geom_histogram(binwidth = 500) +
      ggtitle("cut = Very Good")

p4 <- ggplot(diamonds, aes(x = price)) +
      geom_histogram(binwidth = 500) +
      ggtitle("cut = Premium")

p5 <- ggplot(diamonds, aes(x = price)) +
      geom_histogram(binwidth = 500) +
      ggtitle("cut = Ideal")

# 组合绘图对象
grid.arrange(p1, p2, p3, p4, p5, nrow = 2)
示例结果

gridExtra-grid-arrange