【发布时间】:2019-08-22 15:23:31
【问题描述】:
我想创建一个堆叠和分组的条形图。怎么做?
我一直在互联网上搜索,但尚未找到任何不使用分面的解决方案。
我在下面举了一个例子。
library(ggplot2)
library(reshape)
a <-data.frame(
month=c("jan","feb","mar"),
bread=c(1,2,3), bread_genderX=c(0,1,1), bread_genderY=c(1,1,2),
milk=c(3,2,1),milk_genderX=c(2,0,1),milk_genderY=c(1,2,0))
# month bread bread_genderX bread_genderY milk milk_genderX milk_genderY
# jan 1 0 1 3 2 1
# feb 2 1 1 2 0 2
# mar 3 1 2 1 1 0
to_plot <- melt(a[!grepl("gender",colnames(a))], id="month")
ggplot(to_plot) +
geom_bar(aes(x=variable,y=value, fill=month), stat = "identity",position="dodge")
此代码按 aliment 绘制分组条形图并按月填充(左图),但我想根据客户的性别将每个条分成 2 个,我没有使用的 2 个变量 genderX 和性别Y。 (右图)
【问题讨论】:
标签: r ggplot2 geom-bar stacked-chart