Как разделить два участка в R? - PullRequest
23 голосов
/ 26 ноября 2009

Всякий раз, когда я запускаю этот код, первый график просто перезаписывает предыдущий. Есть ли способ в R разделить, чтобы получить два участка?

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

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

Ответы [ 6 ]

39 голосов
/ 26 ноября 2009

Если вы просто хотите, чтобы одновременно открывались два разных окна печати, используйте dev.new, например,

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

Если вы хотите нарисовать два графика в одном и том же окне, то, как упоминал Шейн, установите параметр 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. (Сначала вам нужно скачать ggplot с CRAN.)

library(ggplot2)
qplot(x, y, data = dfr, facets = grp ~ .)
#or equivalently
ggplot(dfr, aes(x, y)) + geom_point() + facet_grid(grp ~ .)
14 голосов
/ 26 ноября 2009

Попробуйте использовать par перед построением графика.

 par(mfrow = c(2, 1))
4 голосов
/ 07 марта 2010

Вы также можете попробовать команду раскладки:

Try layout(1:2)

plot(A)    
plot(B)
2 голосов
/ 16 августа 2010

попробуйте команду x11() перед каждым графиком, вот пример:

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

Это приведет к различным окнам сюжета. Вы можете добавить команду «par» в любое из этих x11() окон и получить больше разнообразных графиков, то есть 4 графика в одном окне, в то время как большой график в другом окне.

0 голосов
/ 27 ноября 2009

Альтернативный ответ - назначить график как объект, затем вы можете отобразить его, когда захотите. * 1001 то есть *

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 голосов
/ 26 ноября 2009

Если вы хотите 2 графика в отдельных окнах или файлах, вы можете выбрать новые устройства перед вызовом каждой команды графика. Смотри:

? Devices

И

? Dev.cur

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...