1

4 つの場所 (1、2、3、4 - 以下) で発生するイベント データ (A、B、C、および D - 以下) を取得しようとしています。その場所への各イベント (A、B、C、D) の寄与を示すために塗りつぶされた積み上げ棒グラフとしてそれらをプロットし、それらの寄与の整数値を表示したいと考えています。個々の値(以下のようなもの)だけでなく、合計の貢献も見たいのですが、どうすればよいかわかりません。

したがって、2 つの問題があります。 1: 積み上げ棒グラフの個々の値だけでなく、合計値を上部に (または個別に/のみ) 印刷します。2: テキスト ラベルは値のオフセットで印刷されるため、互いに上書きされ、バー内で整列しません。中央や上部など、サブバーの内側にあると思われる場所が望ましいと思います。

a <- c(1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,1,1,1,2)
b <- c('A','B','C','D','A','A','B','C','B','B','C','C','C','D','D','A','A','B','C','D')
df <- data.frame(a, b)

これの要約を作成したいので、ここに table() があります

table(df$a, df$b)

  A B C D
1 2 2 2 1
2 2 1 1 1
3 0 2 2 0
4 1 0 1 2

ggplot でプロットするための data.frame に戻ります。

df2 <- data.frame(table(df$a, df$b))

次にプロットします。

library(ggplot2)
ggplot(df2, aes(x=Var1, y=Freq, fill=Var2, label=Freq)) + 
  geom_bar(stat="identity") + 
  geom_text(stat="identity")

助けていただければ幸いです。テーブルを介してデータ フレームをまとめて要約し、データ フレームに戻す必要はありませんか? バーの全体の高さを取得して、そのラベルを印刷できますか?

塗りつぶしを使用していなければ、..count.. 値を取得できたように感じますが、stat="bin" ですが、stat="identity" に行ったので、それを取得できないようです要約値。

ありがとう!

4

2 に答える 2