📅  最后修改于: 2023-12-03 14:52:32.096000             🧑  作者: Mango
堆叠点图是一个有用的图形,用于比较类别变量中的频率或百分比。堆叠点图通常用于显示两个或更多类别变量,例如性别和年龄范围,以便观察它们之间的关系。
在 R 中,我们可以使用 ggplot2 包创建堆叠点图。下面是一个简单的步骤:
我们首先需要准备我们要使用的数据。数据应该是一个数据框,包括我们要绘制的变量以及它们的值。例如,我们可以使用以下数据:
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
变量,这是一个数字向量。
我们现在可以使用 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
参数指定点的大小。
我们可以使用各种 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()
函数指定了横轴、纵轴和图形标题的标签。