2012-10-30 21 views
2

可能重複:
Plotting during a loop in RStudio從Rstudio內部進行for循環時更新圖表?

我試圖監視收斂循環的狀態,我似乎無法得到它的每一次更新圖表它迭代。

下面是一些示例代碼:

print(plot(c(0,1)~c(0,100))) 
for(i in seq(100)) { 
    Sys.sleep(.1) 
    print(points(runif(1)~i)) 
} 

注意,圖僅更新一切都被繪製後。我需要它來更新每個循環迭代。我以爲print會這樣做,但它不起作用。

更新

這是一個特定的RStudio-的問題,因爲它工作正常,在基地R.有沒有辦法強制圖形在RStudio每次循環迭代?

+0

第二個想法,這顯然是一個RStudio問題。 –

+1

你不應該永遠打印基礎圖形的東西,讓他們無論如何顯示。 – Spacedman

+0

@Spacedman是的我猜這只是基於網格的圖形需要它。不過,我希望這會迫使RStudio的手。顯然不是。 –

回答

5

使用X11()(或windows上的win())啓動一個單獨的圖形設備並使用它。

儘管在我的RStudio設置中情節似乎更新沒問題。我的測試是簡單地:

plot(1:10);for(i in 1:10){points(10-i,i);Sys.sleep(1)} 

我看到的第一組的10個點,則下一組出現在一秒的間隔,在RStudio嵌入式圖形窗口。

+0

這似乎是工作...除了RStudio服務器上,其中一個無法啓動新的Xorg窗口。 –

+0

好吧,也許RStudio員工在他們的支持網站上交叉發佈,這將幫助你! http://support.rstudio.org/help/discussions/problems/3729-graph-does-not-update-until-loop-completion – Spacedman

+0

人們得到他們在這樣一個結內褲在交叉發佈... –