web-dev-qa-db-ja.com

軸ラベルをggplot2で右側に揃えます

以下を考慮してください

d = data.frame(y=rnorm(120), 
               x=rep(c("bar", "long category name", "foo"), each=40))

ggplot(d,aes(x=x,y=y)) + 
    geom_boxplot() + 
    theme(axis.text.x=element_text(size=15, angle=90))

plot with poorly aligned labels

X軸のラベルは、ラベルの中央に揃えられます。すべてのラベルがグラフの真下で終わるように、自動的に右側に揃えることは可能ですか?

13
Remi.b

これは、正確にhjustおよびvjustパラメーターがggplotで使用するものです。水平および垂直の位置調整をそれぞれ制御し、範囲は0〜1です。位置調整とその値の詳細については、この質問を参照してください( ggplotを使用してプロットを作成するときにhjustとvjustは何をしますか? )。

ラベルを希望どおりに取得するには、次を使用できます。

  • hjust = 0.95(ラベルと軸の間にスペースを残すため)
  • vjust = 0.2(この場合、それらを中央に配置します)

ggplot(d,aes(x=x,y=y)) + geom_boxplot() + 
       theme(axis.text.x=element_text(size=15, angle=90,hjust=0.95,vjust=0.2))

enter image description here

24
Mike H.

または、軸を反転すると、顧客はあなたに感謝し、首の痛みが少なくなります(さらに、ほとんどの箱ひげ図はこの方向で簡単に解釈できます):

ggplot(d, aes(x = x, y = y)) +
  geom_boxplot() + 
  coord_flip()

Plot

10
JasonAizkalns