20

を使用して複数のプロットを配置しようとしていますgrid.arrange。それは本によって仕事をします、そして呼び出すとき:

p1 <- ggplot(subset(mtcars, cyl = 4), aes(wt, mpg, colour = cyl)) + geom_point() 
p2 <- ggplot(subset(mtcars, cyl = 8), aes(wt, mpg, colour = cyl)) + geom_point()

grid.arrange(p1, p2, ncol = 2)

サイズが対称な 2 つの素敵なプロットを取得します。

ここに画像の説明を入力

私のグラフは異なるパラメータを参照していますが、グループの色分けは同じです。そのため、凡例を 1 つを除いてすべて削除し、適切な場所を見つけたいと思います。

しかし、私がしようとすると:

p3 <- ggplot(subset(mtcars, cyl = 8), aes(wt, mpg, colour = cyl)) + geom_point() + guides(colour=FALSE)

grid.arrange(p3, p2, ncol = 2)

凡例のないプロットは (正しく) 大きくなります:

ここに画像の説明を入力

サイズ (x 軸の長さ) をグラフ全体で同じに保ちたいと思います。

ここでファセットを使用できることは承知していますが、ファセットを使用して実装するのが難しい (と思う) さまざまなグラフを組み合わせる必要もあります。

でそれを行うことは可能grid.arrangeですか?ここで役立つ他のソリューションはありますか?

4

3 に答える 3

27

を使用するこれを試してくださいcbind.gtable

grid.draw(cbind(ggplotGrob(p3), ggplotGrob(p2), size="last"))

ここに画像の説明を入力

于 2013-05-03T21:58:20.000 に答える