積み上げ棒グラフをプロットしておりgeom_text
、各スタックの値を挿入するために使用しています。私が直面している問題は、一部のスタックが非常に小さい/狭いため、2 つのスタックのテキストが互いに重なって読みにくいことです。たとえば、スタックごとにテキストの位置が交互になるようにテキストの位置を調整したいと思いhjust == 1
ます。hjust == -1
これが私が現在行っていることの例です(以下dput
にmydf
提供されています):
library(ggplot2)
ggplot(mydf, aes(x=variable, y = value, fill = Category)) +
geom_bar(stat="identity") +
geom_text(aes(label = value, y = pos-(value/2)), size = 3)
私がこれまでに試したことは次のとおりです。
position = position_dodge(width = 0.5)
and but noneを使用するとposition = position_jitter(h =0.5, w = 0.5)
、私がやろうとしていたことが起こりました。
私が最初に考えたのは、それがリサイクルされ、テキストが と の間でhjust = c(1,-1)
交互になることを期待して定義することでしたが、エラー メッセージが表示されます。hjust == 1
hjust == -1
Error: Incompatible lengths for set aesthetics: size, hjust
私も定義しようとsize = c(3,3,3,3,3,3,3,3,3), hjust = c(1,-1,1,-1,1,-1,1,-1,1)
しましたが、これは同じエラーメッセージになります。
これを正しい方法で達成する方法についてのアドバイスをいただければ幸いです(他の提案も受け付けています)。
なぜ機能しdput
なかったのかわかりませんでした(私にとっても機能しませんでした)ので、読み取り可能な形式のデータを次に示します。
Category variable value pos maxpos
1 AX WW 47.8 47.8 184.1
2 AY WW 5.6 53.4 184.1
3 AZ WW 15.8 69.2 184.1
4 BX WW 31.4 100.6 184.1
5 BY WW 11.7 112.3 184.1
6 BZ WW 10.7 123.0 184.1
7 CX WW 2.2 125.2 184.1
8 CY WW 21.4 146.6 184.1
9 CZ WW 37.5 184.1 184.1
10 AX SM 39.8 39.8 148.6
11 AY SM 2.9 42.7 148.6
12 AZ SM 13.2 55.9 148.6
13 BX SM 22.7 78.6 148.6
14 BY SM 7.3 85.9 148.6
15 BZ SM 8.9 94.8 148.6
16 CX SM 1.6 96.4 148.6
17 CY SM 17.3 113.7 148.6
18 CZ SM 34.9 148.6 148.6
19 AX AsIs 156.9 156.9 519.0
20 AY AsIs 13.1 170.0 519.0
21 AZ AsIs 70.5 240.5 519.0
22 BX AsIs 72.6 313.1 519.0
23 BY AsIs 30.7 343.8 519.0
24 BZ AsIs 35.6 379.4 519.0
25 CX AsIs 5.2 384.6 519.0
26 CY AsIs 44.8 429.4 519.0
27 CZ AsIs 89.6 519.0 519.0