y軸にパーセント表示のラベルを貼り付ける方法を探していますが、y軸は元のカウントを表示します(ggplotを使用)。ここでは、ラベルのないプロットのMWEは次のとおりです。R:ggplot積み重ね棒グラフ、y軸上のカウントがラベルとしての割合
library(ggplot2)
df <- as.data.frame(matrix(nrow = 7, ncol= 3,
data = c("ID1", "ID2", "ID3", "ID4", "ID5", "ID6", "ID7",
"north", "north", "north", "north", "south", "south", "south",
"A", "B", "B", "C", "A", "A", "C"),
byrow = FALSE))
colnames(df) <- c("ID", "region", "species")
p <- ggplot(df, aes(x = region, fill = species))
p + geom_bar()
私は、はるかに大きなテーブルを持っており、Rは非常にうまく領域ごとに異なる種を数えます。ここでは、領域間の種の割合を比較するための元のカウント値(好ましくはy軸)とパーセンテージ(ラベル)を両方表示したいと思います。
私はgeom_text()
を使用して多くのことを試してみたが、私は、彼らは、異なる種のほんの数です(他の質問(e.g. this one)との主な違いは、
- は、私がyの値のために別の列を持っていないということだと思います地域ごとにラベルを必要とします(別々の集団を表すと考えられるため)100%までの合計が必要です。プロット全体のすべてのラベルではありません。
ご迷惑をおかけして申し訳ありません。
標準以外の何かをしているときは、通常、自分で数値を計算する必要があります。 ggplotの中でこれを行うことは可能かもしれませんが、それは簡単ではありません。データ操作のために構築された関数を使用し、ggplot内でデータ操作を行う方がよい。 – Gregor