web-dev-qa-db-ja.com

Rで2つのプロットを分離する方法は?

このコードを実行するときはいつでも、最初のプロットは単に前のプロットを上書きします。 Rに分離して2つのプロットを取得する方法はありませんか?

plot(pc)
title(main='abc',xlab='xx',ylab='yy')

plot(pcs)
title(main='sdf',xlab='sdf',ylab='xcv')
23
phpdash

2つの異なるプロットウィンドウを同時に表示するだけの場合は、dev.newを使用します。

plot(1:10)
dev.new()
plot(10:1)

同じウィンドウに2つのプロットを描画する場合は、Shaneが述べたように、mfrowパラメーターを設定します。

par(mfrow = c(2,1))
plot(1:10)
plot(10:1)

もう少し高度なことを試してみたい場合は、ラティスグラフィックまたはggplotをご覧ください。どちらも条件付きプロット(データの異なるサブセットが異なるフレームに表示されるプロット)を作成するのに優れています。

ラティスの例:

library(lattice)
dfr <- data.frame(
  x   = rep(1:10, 2), 
  y   = c(1:10, 10:1), 
  grp = rep(letters[1:2], each = 10)
)
xyplot(y ~ x | grp, data = dfr)

Ggplotの例。 (最初にCRANからggplotをダウンロードする必要があります。)

library(ggplot2)
qplot(x, y, data = dfr, facets = grp ~ .)
#or equivalently
ggplot(dfr, aes(x, y)) + geom_point() + facet_grid(grp ~ .)
39
Richie Cotton

プロットする前にparを使用してみてください。

 par(mfrow = c(2, 1))
14
Shane

また、レイアウトコマンドを試すこともできます。

layout(1:2)をお試しください

plot(A)    
plot(B)
4
CGN

各プロットの前にコマンドx11()を試してください。以下に例を示します。

_x11()
plot(1:10)
x11()
plot(rnorm(10))
_

これにより、さまざまなプロットウィンドウが表示されます。これらのx11()ウィンドウのいずれかに「par」コマンドを追加すると、より多様なプロットを取得できます。つまり、1つのウィンドウに4つのプロットがあり、別のウィンドウに大きなプロットがあります。

2
Rakesh Parhar

別の答えは、プロットをオブジェクトとして割り当てて、必要なときに表示することです。

abcplot<-plot(pc) title(main='abc',xlab='xx',ylab='yy')

sdfplot<-plot(pcs) title(main='sdf',xlab='sdf',ylab='xcv')

abcplot # Displays the abc plot
sdfplot # Displays the sdf plot
abcplot # Displays the abc plot again
0
PaulHurleyuk

別々のウィンドウまたはファイルに2つのプロットが必要な場合は、各プロットコマンドを呼び出す前に新しいデバイスを選択できます。見る:

?デバイス

そして、

?dev.cur

0