📜  如何在 R 中创建堆叠点图?(1)

📅  最后修改于: 2023-12-03 14:52:32.096000             🧑  作者: Mango

如何在 R 中创建堆叠点图?

堆叠点图是一个有用的图形,用于比较类别变量中的频率或百分比。堆叠点图通常用于显示两个或更多类别变量,例如性别和年龄范围,以便观察它们之间的关系。

在 R 中,我们可以使用 ggplot2 包创建堆叠点图。下面是一个简单的步骤:

  1. 准备数据

我们首先需要准备我们要使用的数据。数据应该是一个数据框,包括我们要绘制的变量以及它们的值。例如,我们可以使用以下数据:

library(tidyverse)

df <- data.frame(
  gender = c(rep("female", 3), rep("male", 3)),
  age_range = c("20-30", "30-40", "40-50", "20-30", "30-40", "40-50"),
  percent = c(20, 40, 60, 40, 60, 80)
)

在这个数据框中,我们有一个 gender 变量和一个 age_range 变量,它们都是字符串向量。我们还有一个 percent 变量,这是一个数字向量。

  1. 创建堆叠点图

我们现在可以使用 ggplot2 包来创建堆叠点图。以下是我们可以使用的代码:

ggplot(df, aes(x = age_range, y = percent, fill = gender)) +
  geom_point(position = position_stack(vjust = 0.5), size = 5)

在这里,我们使用 ggplot() 函数创建一个新的 ggplot 对象,并将我们的数据框 df 传递给它。然后,我们使用 aes() 函数指定我们要绘制的变量以及它们与其他变量的关系。我们将 age_range 变量用作 x 轴,percent 变量用作 y 轴,gender 变量用作堆叠变量。

接下来,我们使用 geom_point() 函数指定我们要创建的几何对象。我们使用 position_stack() 函数将点堆叠在一起,并使用 vjust 参数将它们垂直居中。我们还使用 size 参数指定点的大小。

  1. 自定义图形

我们可以使用各种 ggplot2 主题和调色板来自定义图形。以下是我们可以使用的代码:

ggplot(df, aes(x = age_range, y = percent, fill = gender)) +
  geom_point(position = position_stack(vjust = 0.5), size = 5) +
  theme_minimal() +
  scale_fill_manual(values = c("#E69F00", "#56B4E9")) +
  labs(title = "Stacked Dot Plot", x = "Age Range", y = "Percent")

在这里,我们使用 theme_minimal() 函数指定了一个 ggplot2 主题,该主题将图形中的所有元素最小化。我们还使用 scale_fill_manual() 函数指定了一个手动调色板,该调色板包括两种颜色。我们使用 labs() 函数指定了横轴、纵轴和图形标题的标签。