每當我運行這段代碼時,第一個圖就會覆蓋前一個圖。 R中沒有辦法分離出兩塊地塊?如何分離R中的兩個圖?
plot(pc)
title(main='abc',xlab='xx',ylab='yy')
plot(pcs)
title(main='sdf',xlab='sdf',ylab='xcv')
每當我運行這段代碼時,第一個圖就會覆蓋前一個圖。 R中沒有辦法分離出兩塊地塊?如何分離R中的兩個圖?
plot(pc)
title(main='abc',xlab='xx',ylab='yy')
plot(pcs)
title(main='sdf',xlab='sdf',ylab='xcv')
在繪製之前嘗試使用par
。
par(mfrow = c(2, 1))
如果你想在單獨的窗口或文件中的2個圖,你可以在調用每個繪圖命令之前選擇新的設備。請參閱:??
設備
而且,
dev.cur
如果你只是想看看在同一時間兩個不同的繪圖窗口打開,使用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例子。 (你需要首先從CRAN下載ggplot。)
library(ggplot2)
qplot(x, y, data = dfr, facets = grp ~ .)
#or equivalently
ggplot(dfr, aes(x, y)) + geom_point() + facet_grid(grp ~ .)
謝謝你,先生^ _ ^,dev.new()對我來說效果不錯 – espais 2012-02-23 03:59:55
想給'mfcol'參數一些愛。它按照列的方式填充你的圖,這符合R中每個其他對象如何填充(主要是矩陣)。剛剛發現它。一直想知道爲什麼地塊是按行排列的......不要以爲我會回到'mfrow'! – MichaelChirico 2016-05-12 20:19:50
另一種答案是劇情指定爲一個對象,那麼你就可以顯示出來,當你想 即
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
這不起作用。 'plot'返回NULL。您無法以這種方式保存圖形的細節。如果你使用'grid'-based graphics(例如'lattice'),你的建議是可能的,例如。 'p1 < - xyplot(y〜x);打印(P1)'。 – 2009-11-30 11:00:51
你也可以嘗試佈局命令:
嘗試 layout(1:2)
plot(A)
plot(B)
試命令x11()
每個小區之前,這裏有一個例子:
x11()
plot(1:10)
x11()
plot(rnorm(10))
這將導致不同的情節窗口。您可以將「par」命令添加到這些x11()
窗口中的任何一個,並獲得更多種類的圖,即在一個窗口中繪製4個繪圖,而在另一個窗口繪製大圖。
好的,感謝所有偉大的建議傢伙, 瞭解了一些新的東西。 – phpdash 2009-11-27 21:36:52