2011-03-14 44 views
2

爲什麼此代碼會引發警告&我該如何重寫它?幫助x11和dev.off

x11(width = 8, height = 8) 
plot(1:10) 
points(1, 5, col='red') 
dev.off() # Throws "Warning message: In dev.off() : Display list redraw incomplete" 

錯誤如果刪除X11()線消失。謝謝你在前進,

阿德里安

+0

我不能複製這一點。在我的Linux系統上,前三個命令執行您期望的命令;而最後一個只是簡單地關閉了前面'x11()'打開的圖形窗口,並給出了所給的尺寸。 –

+0

在Windows 7,64位上,無法在R 2.12.2上重現。 – Chase

+0

適用於R 2.12.1 Win XP 32位。輸入sessionInfo(),你會得到什麼? –

回答

1

我可以重現這個bug,但只有當我試圖source代碼。我得到兩個空的情節窗口。您可能已經注意到,起初有8x8的X11窗口,但隨後它會關閉,並且最終會有兩個默認大小的窗口(7x7),前面的窗口標記爲ACTIVE。但是,如果您省略了widthheight參數,則一切正常。這看起來像X11的問題,坦率地說,我沒有血腥的想法是什麼導致它,但它肯定與設備幾何有關。如果我設置了X11.options(width = 8, height = 8)source這個腳本,我又會得到同樣的錯誤。長話短說,我可以複製這個bug,但我不知道是什麼原因造成的。無論如何,這會產生沒有任何錯誤:

x11() 
plot(1:10) 
points(1, 5, col='red') 
dev.off() 

編輯

我使用Arch Linux的FWIW,這裏是我的sessionInfo()

R version 2.12.2 (2011-02-25) 
Platform: i686-pc-linux-gnu (32-bit) 

locale: 
[1] LC_CTYPE=en_US.UTF-8  LC_NUMERIC=C    
[3] LC_TIME=en_US.UTF-8  LC_COLLATE=en_US.UTF-8  
[5] LC_MONETARY=C    LC_MESSAGES=en_US.UTF-8 
[7] LC_PAPER=en_US.UTF-8  LC_NAME=C     
[9] LC_ADDRESS=C    LC_TELEPHONE=C    
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C  

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base