如何在 r 中创建聚类条形图(附示例)


分组条形图是一种图表,显示不同变量的数量,并按另一个变量分组

本教程介绍如何使用ggplot2数据可视化库在 R 中创建聚类条形图。

ggplot2 中分组的条形图

假设我们有以下数据框,显示九名篮球运动员每场比赛的平均得分:

 #create data frame
df <- data.frame(team= rep (c(' A ', ' B ', ' C '), each =3),
                 position= rep (c(' Guard ', ' Forward ', ' Center '), times =3),
                 dots=c(14, 8, 8, 16, 3, 7, 17, 22, 26))

#view data frame
df

  team position points
1 A Guard 14
2 A Forward 8
3 A Center 8
4 B Guard 16
5 B Forward 3
6 B Center 7
7 C Guard 17
8 C Forward 22
9C Center 26

我们可以使用以下代码创建一个分组条形图,显示每个球员的得分,按球队和位置分组:

 library (ggplot2)

ggplot(df, aes (fill=position, y=points, x=team)) + 
  geom_bar(position=' dodge ', stat=' identity ')

R 中的聚类条形图

自定义分组条形图

我们还可以自定义分组条形图的标题、轴标签、主题和颜色,以使其具有我们想要的外观:

 library (ggplot2)

ggplot(df, aes (fill=position, y=points, x=team)) + 
  geom_bar(position=' dodge ', stat=' identity ') +
  theme_minimal() + 
  labs(x=' Team ', y=' Points ', title=' Avg. Points Scored by Position & Team ') +
  theme(plot.title = element_text (hjust=0.5, size=20, face=' bold ')) +
  scale_fill_manual(' Position ', values=c(' coral2 ', ' steelblue ', ' pink '))

R 中使用 ggplot2 的聚类条形图

我们可以使用ggthemes库中的主题之一进一步自定义外观。例如,我们可以使用此库中的《华尔街日报》主题:

 install.packages ('ggthemes')

library (ggplot2)
library (ggthemes)

ggplot(df, aes (fill=position, y=points, x=team)) + 
  geom_bar(position=' dodge ', stat=' identity ') +
  theme_wsj() 

R 中带有 ggthemes 的聚类条形图

有关更多主题,请参阅我们的最佳 ggplot2 主题完整指南

其他资源

如何在 R 中创建堆积条形图
如何使用 ggplot2 在 R 中创建分组箱线图
如何在 ggplot2 中创建并排图

添加评论

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