📅  最后修改于: 2023-12-03 14:54:02.344000             🧑  作者: Mango
在数据可视化中,堆积条形图是我们非常常见的一种形式。它可以让我们比较不同类别中各部分之间的相对大小,而年龄组作为一种重要的分类变量,也经常被使用。在 R 编程语言中,我们可以使用 ggplot2 包来绘制带年龄组的堆积条形图。
首先,我们需要准备一份完整的数据集,其中包含不同年龄组的各项指标。
library(tidyverse)
# 创建随机数据
set.seed(123)
df <- data.frame(age = factor(rep(c("18-24", "25-34", "35-44", "45-54"), each = 4)),
group = rep(c("A", "B", "C", "D"), times = 4),
value = runif(16, 0, 100))
# 查看数据
head(df)
输出结果:
age group value
1 18-24 A 86.313714
2 18-24 B 97.095887
3 18-24 C 27.561817
4 18-24 D 57.285336
5 25-34 A 91.681932
6 25-34 B 66.292146
我们可以看到,数据中共有 16 行,包含了不同年龄组和类别下的数值。
接下来,我们可以使用 ggplot2 包来绘制堆积条形图。
# 绘制堆积条形图
ggplot(df, aes(x = age, y = value, fill = group)) +
geom_bar(stat = "identity") +
labs(x = "Age group", y = "Value", title = "Stacked Bar Chart by Age Group")
输出结果:
可以看到,我们成功地绘制了一张带有年龄组的堆积条形图。其中,每种颜色代表一个类别,不同类别的数值在同一年龄组中进行堆积。
为了让图表更加清晰明了,我们可以增加图例并调整样式。
# 增加图例和调整样式
ggplot(df, aes(x = age, y = value, fill = group)) +
geom_bar(stat = "identity") +
labs(x = "Age group", y = "Value", title = "Stacked Bar Chart by Age Group") +
theme_bw() +
theme(plot.title = element_text(size = 14),
legend.title = element_blank(),
legend.position = "bottom",
legend.text = element_text(size = 12),
axis.text = element_text(size = 12),
axis.title = element_text(size = 12))
输出结果:
从上述输出结果中,我们可以看到图例已经被移动到了图表下方,并且靠近 X 轴;同时,我们还调整了字体的大小和样式,使图表更加美观。
以上是使用 R 编程语言来绘制带年龄组的堆积条形图的详细步骤。通过这个例子,我们可以发现 ggplot2 包是一个非常强大的工具,可以帮助我们快速地制作出美观、清晰的图表。