如何在 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)
输出
广告