ggplot2 中的可变宽度条形图 R 中的条形图

Variable width bars in ggplot2 barplot in R

提问人:Steve 提问时间:5/10/2011 更新时间:9/17/2022 访问量:30483

问:

我正在尝试生成一个条形图,其条形宽度由整数变量(样本大小)确定。添加“width = variableName”似乎不起作用。有没有既定的方法可以做到这一点?下面是一些虚拟数据和代码。在此示例中,我希望条形宽度是变量 d 的函数。

dat <- data.frame(a=c("A", "B", "C"), b=c(0.71, 0.94, 0.85), d=c(32, 99, 18))

ggplot(dat, aes(x=a, y=b, fill=a)) +  
geom_bar(colour="black", size=.3) + 
theme_bw()  
r ggplot2

评论


答:

40赞 chl 5/10/2011 #1

在重新缩放向量后使用怎么样,比如按恒定量?width=d

ggplot(dat, aes(x=a, y=b, width=d/100)) + 
  geom_bar(aes(fill=a), stat="identity", position="identity")

enter image description here

评论

0赞 Steve 5/10/2011
@chi:太好了,非常感谢。我已经尝试过这种方法,但是如果没有“stat”和“position”参数,它不会影响条形宽度。
0赞 fstevens 11/26/2015
是否可以在图例中添加条形的宽度?
0赞 Felipe Gerard 1/26/2017
谢谢!我错过了位置参数:)
0赞 Skyler 8/18/2019
您将如何将其应用于百分比图表,例如 stackoverflow.com/questions/46984296/ 答案......