2012-04-11 15 views
8

ggplotにバーの上にラベルを貼る必要があります。私が見つかりました方法(HERE)を使用するために使用されるが、これは私が今エラーメッセージが表示されますように私ggplot2更新するので、もはや機能していないように見える:RE:個々のバーの数字をggplot2に合わせる

Error in continuous_scale(c("y", "ymin", "ymax", "yend", "yintercept", : 
    unused argument(s) (formatter = "percent") 

使用するとき、どのように私は再び棒の上の数値をプロットすることができます例:

df <- structure(list(A = structure(c(1L, 1L, 1L, 2L, 2L, 2L, 3L, 3L, 
3L), .Label = c("0-50,000", "50,001-250,000", "250,001-Over"), class = "factor"), 
    B = structure(c(1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L), .Label = c("0-50,000", 
    "50,001-250,000", "250,001-Over"), class = "factor"), Freq = c(0.507713884992987, 
    0.258064516129032, 0.23422159887798, 0.168539325842697, 0.525280898876405, 
    0.306179775280899, 0.160958904109589, 0.243150684931507, 
    0.595890410958904)), .Names = c("A", "B", "Freq"), class = "data.frame", row.names = c(NA, 
-9L)) 

library(ggplot2) 

ggplot(data=df, aes(x=A, y=Freq))+ 
    geom_bar(aes(fill=B), position = position_dodge()) + 
    geom_text(aes(label = paste(sprintf("%.1f", Freq*100), "%", sep=""), 
        y = Freq+0.015, x=A), 
       size = 3, position = position_dodge(width=0.9)) + 
    scale_y_continuous(formatter = "percent") + 
    theme_bw() 

勝利7マシン上でR 2.15 ggplot2 0.9を実行している

答えて

13

エラーがscale_y_continuous呼び出しからです。ラベルの書式設定は、labels引数で処理されるようになりました。詳細は、ggplot2 0.9.0 transition guideを参照してください。

ラベルが正しく整列していないという別の問題がありました。私は、geom_textの美学にgroup=Bを追加することでそれを修正しました。しかし、なぜこれが必要なのかよく分かりません。それは(それがggplotコールから継承されます必要はなかったので、私はまたgeom_text美学からx=Aを取り出した。

library("ggplot2") 
library("scales") 

ggplot(data=df, aes(x=A, y=Freq))+ 
    geom_bar(aes(fill=B), position = position_dodge()) + 
    geom_text(aes(label = paste(sprintf("%.1f", Freq*100), "%", sep=""), 
        y = Freq+0.015, group=B), 
       size = 3, position = position_dodge(width=0.9)) + 
    scale_y_continuous(labels = percent) + 
    theme_bw() 

enter image description here

+0

をダン、私はラベル=「パーセント」をしようとした(私がチェックアウトしたとして ' ?scale_y_continuous')引用符を使わずに試してみましたが、それほど近似していますが、今まではBrianです。 –

+0

引用符は必要ないだけでなく、書式設定関数は 'scales'パッケージに入っています。ロードすることもできます。 –

関連する問題