私は両方の関数の_ggplot2
_ドキュメントを読んできました。私は、各関数(facet_wrap()
とfacet_grid()
)を使用する場合の違いは何で、正しい状況になるのだろうかと考えていました。
_library(ggplot2)
p <- qplot(displ, hwy, data = mpg)
p + facet_wrap(~ cyl)
p + facet_grid(~ cyl)
_
出発点として役立つこの小さな例を提供します。違いは、ラップがプロットをより自律的にし、グリッドが1つのプロットをまとめて作成しているようです。
以下の答えは、facet_grid()
またはfacet_wrap()
に2つの引数がある場合を示しています。
facet_grid(x ~ y)
は、一部のプロットが空であっても_x*y
_プロットを表示します。例:
_library(ggplot2)
g <- ggplot(mpg, aes(displ, hwy))
_
4つの異なるcylと7つの異なるクラス値があります。
_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)
_
現在、cylとclassの組み合わせごとに1つのプロットが19個表示されています。
facet_wrap(...)
文字列は、単一の変数に基づいて異なるフレーム(ファセット)でggplots
一緒に文字列化されます。 facet_grid(...)
は2つの変数を取ることができます:
p + facet_grid(cyl~class)
3番目の変数を使用して、各ファセットでグループ化することもできます。
qplot(displ, hwy, data=mpg,color=factor(year)) + facet_grid(cyl~class)
#cylindersおよびクラスによるハイウェイ走行距離対変位の改善(またはその欠如)を示しています。
単一変数プロットの場合、facet_grid()
またはfacet_wrap()
のいずれかを使用できます。
facet_wrap(~variable)
は、variable
のレベル数のプロットの対称行列を返します。
facet_grid(.~variable)
は、水平に分布するvariable
のレベルに等しいファセットを返します。
facet_grid(variable~.)
は、垂直に分布するvariable
のレベルに等しいファセットを返します。