33

ggplot2 を使用して、ラベル付きの棒グラフを正と負の棒でプロットしようとしています。 これまでのところうまくいきますが、バーの上または下になるように、バーの外側にラベルを設定したいと思います。のバーの値に応じて、 が正または負の値になるようにvjust = c(x1,...,xn)調整を設定しようとしました。これはうまくいきません。エラー メッセージ Error: "When setting beautys, they may only take one value. Problems: vjust" が表示されました。xgeom_text()

動作する通常のプロットコマンドを使用します。このコマンドをggplot2で複製したい:

xpos <- barplot(d, col=mycols, main='Verteilung in Dresden 2004',
         ylab='Anteil in %', xlab='Milieu', names.arg=l, 
         cex.axis=0.7, cex.names=0.7, ylim=c(0,max(d)+0.05))
boxed.labels(xpos,d+0.02,sprintf('%d%s', d*100, '%'),
          bg='transparent', border=FALSE, cex=0.7)

このように見えるように... ;-)

誰か提案はありますか?

助けてくれてありがとう。

4

1 に答える 1

50

これはトリックを行います

library(plyr)
library(ggplot2)
library(scales)
dtf <- data.frame(x = c("ETB", "PMA", "PER", "KON", "TRA", 
                  "DDR", "BUM", "MAT", "HED", "EXP"),
                  y = c(.02, .11, -.01, -.03, -.03, .02, .1, -.01, -.02, 0.06))
ggplot(dtf, aes(x, y)) +
  geom_bar(stat = "identity", aes(fill = x), legend = FALSE) + 
  geom_text(aes(label = paste(y * 100, "%"),
               vjust = ifelse(y >= 0, 0, 1))) +
  scale_y_continuous("Anteil in Prozent", labels = percent_format()) +
  opts(axis.title.x = theme_blank())

ここに画像の説明を入力

于 2012-08-13T17:57:33.503 に答える