2011-05-10 21 views
19

整数変数(サンプルサイズ)で決定されたバー幅を持つバープロットを生成しようとしています。 "width = variableName"を追加しても動作しないようです。これを行うための確立された方法はありますか?ここにいくつかのダミーのデータとコードがあります。この例では、バーの幅を変数dの関数にします。可変幅バーggplot2 barplot in 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

+0

凡例にバーの幅を追加することはできますか? – fstevens

+0

感謝します!私はポジションの引数が欠けていた:) –