1. ホーム
  2. r

[解決済み] ggplot2 の facet_wrap() と facet_grid() の違いは何ですか?

2022-03-05 19:05:42

質問

を読んでいるのですが ggplot2 のドキュメントを参照してください。それぞれの関数の違いは何なのか、どのような場面で使うのが正しいのか、気になるところです( facet_wrap()facet_grid() ).

library(ggplot2)

p <- qplot(displ, hwy, data = mpg)
p + facet_wrap(~ cyl)

p + facet_grid(~ cyl)

この小さな例は、出発点として提供するものです。違いは、wrap はプロットをより自律的にし、grid はまとめて一つのプロットにすることだと思われます。

解決方法は?

の中に2つの引数がある場合について説明します。 facet_grid() または facet_wrap() .

facet_grid(x ~ y) が表示されます。 x*y プロットが空であっても、プロットを表示します。 例

library(ggplot2)
g <- ggplot(mpg, aes(displ, hwy))

4 つの異なる cyl と 7 つの異なる class 値があります。

g + geom_point(alpha=1/3) + facet_grid(cyl~class)

上記では、4 * 7 = 28 のプロットが表示されますが、一部は空です(class="midsize"を持つ行が対応するcyl="5"を持たないように、いくつかのクラスは対応するシリンダー値を持っていないため)。 facet_wrap(x ~ y) 一方、実際の値を持つプロットのみを表示します。

g + geom_point(alpha=1/3) + facet_wrap(cyl~class)

現在、19個のプロットが表示されており、シリンダーとクラスの組み合わせごとに1つずつ表示されています。