如何在 ggplot2 中创建具有多个变量的条形图
条形图对于可视化不同类别变量的数量很有用。
有时我们想要创建一个条形图来可视化划分为子组的分类变量的数量。
例如,我们可能想要可视化三个不同体育场馆的爆米花和苏打水的总销售额。本教程提供了如何创建以下包含多个变量的条形图的分步示例:
第 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 ')
不同的阶段 – 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 '))