📜  带年龄组的堆积条形图 r - R 编程语言(1)

📅  最后修改于: 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")

输出结果:

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))

输出结果:

Stacked Bar Chart by Age Group with Legend and Style Adjustment

从上述输出结果中,我们可以看到图例已经被移动到了图表下方,并且靠近 X 轴;同时,我们还调整了字体的大小和样式,使图表更加美观。

总结

以上是使用 R 编程语言来绘制带年龄组的堆积条形图的详细步骤。通过这个例子,我们可以发现 ggplot2 包是一个非常强大的工具,可以帮助我们快速地制作出美观、清晰的图表。