2014-10-07 20 views
0

我用一個簡單的佈局做一個情節R:如何返回R中的前一幀?

layout(matrix(c(1,2),1,2)) 

後,我得出的情節兩個方面,我需要返回到第一繪製兩行(跨度到其他的一面,只有繪製第二面之後我纔會知道正確的座標)。

我知道我可以使用frame()在幀之間移動,但它只能前進,當它返回到開始時,它會清除整個圖形。是否可以移動框架?

+3

'dev.set(dev.prev())' – 2014-10-07 20:56:45

+2

@RicardoSaporta你的意思是像'layout(matrix(c(1,2),1,2));情節(1:10,1:10);情節(10:1,1:10); dev.set(dev.prev()); abline(H = 5)'?這似乎並不奏效(正如我預計'abline'出現在第一幅圖中那樣)。 'dev.set()似乎控制着設備,但'佈局'不會改變設備,據我所知,所以我不明白爲什麼會這樣。你能給出一個更完整的答案來測試它嗎? – MrFlick 2014-10-07 21:26:33

+0

這可能是一個更好的主意發佈樣本輸入和期望的輸出[可重現的例子](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) 。在沒有返回到前一幀的情況下,可以做你想做的事。 – MrFlick 2014-10-07 21:47:41

回答

2

儘管警告你可以使用par(mfg=...)使用佈局時控制繪製的焦點:

layout(matrix(1:4,2,2)); 
plot(1:10, 1:10); 
plot(10:1, 1:10); 
par(mfg=c(1,1)); 
abline(h=5) 

我也沒有想到dev.set(dev.prev())來工作,因爲我認爲這是所有正在寫入同一設備。