ggplotのストリップラベルの位置を上から下に変更できますか?


80

これはデータの視覚化の問題ではないことはわかっていますが、上司から求められたので、可能かどうかを判断する必要があります。

ありがとう!



11
ggplot2は強力ですが、意見の分かれるソフトウェアです。ggplotの方法である場合もあれば、まったく方法がない場合もあります。
シャーピー2010

同意し、グリッドを使用していくつかの変更を行う必要があります。その後、もう一度急な学習曲線を作成します
lokheart 2010

stackoverflow.com/questions/10058839/…のコメントにあるリンクされたフォーラム投稿を参照してください。これにより、必要なグリッドハッカーが提供されます
Ben Bolker 2012年

1
受け入れられた答えを受け入れないでください。それはもはや正しくありませんが、この答えは質問をグーグルで検索するときのトップヒットです。
Konrad Rudolph

回答:


97

2016年に検索した人への回答。

とおりggplot22.0、スイッチの引数は、のためにこれを行うだろうfacet_gridfacet_wrap

デフォルトでは、ラベルはプロットの上部と右側に表示されます。「x」の場合、上部のラベルが下部に表示されます。「y」の場合、右側のラベルが左側に表示されます。「両方」に設定することもできます。

ggplot(...) + ... + facet_grid(facets, switch="both")

ggplot2 2.2.0以降、

ストリップはfacet_wrap()、strip.position引数を使用して自由に配置できるようになりました(非推奨switch)。

現在のドキュメントは、2.1ではまだですが、strip.positionされた文書のdevのドキュメントに。

デフォルトでは、ラベルはプロットの上部に表示されます。strip.positionを使用すると、次のように設定することで、4つの側面のいずれかにラベルを配置できます。strip.position = c("top", "bottom", "left", "right")

ggplot(...) + ... + facet_wrap(facets, strip.position="right")

2
2020アップデート-ggplot3.3-は、またはの引数でfacet_grid 引き続き使用 switchします。xyboth
nniloc

11

これで使用できるfacet_wrap(~var, strip.position = "bottom")ようになりましたが、グラフのごく一部のスクリーンショットからわかるように、何らかの理由でラベルが軸の目盛りラベルの下ではなく上に配置されます(これはより理にかなっていると思います)。

グラフのスクリーンショット

以下のラベルが必要な場合は、これを行う必要があります

ggplot(zzz, aes(x = c1, y = c2)) +
  facet_wrap(~ gp, scales = "free", nrow = 3, strip.position = "bottom") +
  geom_point() +
  theme(
    aspect.ratio = 1,
    strip.background = element_blank(),
    strip.placement = "outside"
  )

ここに見られるように:https//github.com/tidyverse/ggplot2/issues/2622


-2

答えはイエスです!

theme(strip.text=element_text(vjust=-10))

数値-10は、プロットで使用しているスケールと単位によって決まります。


1
私にも影響はありません
地理理論2017年

これはテキストのみを調整し、チャート上のストリップの位置は調整しません。
テイラーホワイト

1
私にも影響はありませんswitch。上記の引数を使用することをお勧めします。OPに具体的に答えるために; switch = "x"ラベルをプロットの一番下に移動します。
EcologyTom 2018

ありがとうございました !あなたの解決策は、私が抱えていた他の問題を修正するのに役立ちました:ラベルを左揃えにする(vjustの代わりにhjustを使用する)。
rvezy 2018

-5

テーマの使用をフォローするには:

テーマ(strip.text = element_text(vjust = -10))

ラベルがすべて同じ数のキャリッジリターンを持っていることを確認してください。

Label /n Facet /n Oneとは異なるレートで調整しLabel /n Facet Twoます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.