如何在 ggplot2 中创建具有多个变量的条形图


条形图对于可视化不同类别变量的数量很有用。

有时我们想要创建一个条形图来可视化划分为子组的分类变量的数量。

例如,我们可能想要可视化三个不同体育场馆的爆米花和苏打水的总销售额。本教程提供了如何创建以下包含多个变量的条形图的分步示例:

R 中具有多个变量的条形图

第 1 步:创建数据

首先,让我们创建一个数据框来保存数据:

 #createdata
df <- data.frame(stadium= rep (c(' A ', ' B ', ' C '), each =4),
                 food= rep (c(' popcorn ', ' soda '), times =6),
                 sales=c(4, 5, 6, 8, 9, 12, 7, 9, 9, 11, 14, 13))

#viewdata
df

   stadium food sales
1 A popcorn 4
2 A soda 5
3 A popcorn 6
4 A soda 8
5 B popcorn 9
6 B soda 12
7 B popcorn 7
8 B soda 9
9 C popcorn 9
10 C soda 11
11 C popcorn 14
12 C soda 13

第 2 步:创建包含多个变量的条形图

以下代码演示了如何使用geom_bar()函数创建条形图来创建包含多个变量的条形图,并使用‘dodge’参数来指定每组中的条形图应“闪避”并并排显示。

 ggplot(df, aes (fill=food, y=sales, x=stadium)) +
  geom_bar(position=' dodge ', stat=' identity ')

R 中具有多个变量的条形图

不同的阶段 – A、B 和 C – 沿 x 轴显示,相应的爆米花和苏打水销量(以千为单位)沿 y 轴显示。

第 3 步:改变条形图的美观

以下代码演示了如何在条形图上添加标题、更改轴标签以及自定义颜色:

 ggplot(df, aes (fill=food, y=sales, x=stadium)) +
  geom_bar(position=' dodge ', stat=' identity ') +
  ggtitle(' Sales by Stadium ') +
  xlab(' Stadium ') +
  ylab(' Sales (in thousands) ') +
  scale_fill_manual(' Product ', values=c(' coral2 ',' steelblue ')) 

R 中具有多个变量的条形图

其他资源

如何更改ggplot2中的图例标题
如何更改ggplot2中的图例大小
最佳 ggplot2 主题的完整指南

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注