R并排barplot,比例尺按箱尺寸

时间:2017-01-16 00:51:36

标签: r bar-chart

我试图通过我的bin大小(colnames)来缩放条形图条宽度以显示数据的偏斜(例如,11-10 bin将比251-500 bin更窄)。我正在使用并排的barplot,使用rownames作为我的组(A,B)。看起来width =参数只取前2个宽度值,并为每个组分配一个,而不是分别为每个条指定宽度值。任何人都可以建议一种方法吗?

df <- rbind(runif(10,0,1), runif(10,0,1))
rownames(df) <- c("A", "B")
colnames(df) <- c("0", "1-10", "11-20", "21-30", "31-40", "41-50", "51-75",    "76-125", "126-250", "251-500") 
bar_width = rep(c(1, rep(10,5), 25, 50, 125, 250), each=2)

barplot(df, width=bar_width, beside=T)

1 个答案:

答案 0 :(得分:1)

这是基础R绘图的尝试:

bp <- barplot(c(df), width=bar_width, 
        space=rep(c(40,0),ncol(df))/mean(bar_width), col=gray.colors(nrow(df)))
axis(1, at=colMeans(matrix(bp,nrow=2)), labels=colnames(df),
     lwd=0, lwd.tick=1, cex.axis=0.7, las=2)

enter image description here