2011-05-10 67 views
19

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

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() 

回答

28

如何重新调整你的d载体后使用width=,恒定的量说呢?

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

enter image description here

+0

@chi:这是伟大的,非常感谢。我已经尝试过这种方法,但没有'stat'和'position'参数,它不会影响条宽。 – Steve 2011-05-10 11:29:07

+0

是否可以在图例中添加条的宽度? – fstevens 2015-11-26 10:30:35

+0

谢谢!我错过了位置参数:) – 2017-01-25 17:24:39