如何在 R 中使用 ggplot2 创建带有按照数据顺序排列的分面的条形图?


由于可视化是数据分析的重要组成部分,因此我们应确保以用户易于阅读的形式创建图表。为此,条形图中的分面有助于我们了解另一个因子的因子变量级别。要创建此类条形图,我们可以使用 ggplot2 包的 facet_grid 函数。

示例

考虑以下数据框:

> set.seed(99)
> y<-sample(1:100,50,replace=TRUE)
> class<-rep(c(letters[1:5]),times=10)
> quantity<-as.factor(rep(c(5,10,15,20,25),each=10))
> df<-data.frame(y,class,quantity)

这里,我们有 class 和 quantity 作为因子变量。假设我们想使用 quantity 作为分面。

加载 ggplot2 包:

> library(ggplot2)

在 X 轴上使用 class,在 Y 轴上使用 y 创建没有分面的图表:

> ggplot(df,aes(class,y))+
+ geom_bar(stat="identity")

输出

在 X 轴上使用 class,在 Y 轴上使用 y,并以 quantity 作为分面创建图表:

> ggplot(df,aes(class,y))+
+ geom_bar(stat="identity")+
+ facet_grid(.~quantity)

输出

更新于: 2020年8月10日

2K+ 次浏览

启动您的 职业生涯

通过完成课程获得认证

开始学习
广告