2015-12-17 34 views
0

我試圖構建一個GUI來顯示一些結果。作爲這個的一部分,我想自動顯示結果的餡餅字符。因此,簡化提取物低於:在ggraphics窗口中的餡餅。在plot.new()中出現錯誤:圖邊距過大

library("gWidgets2") 
library("cairoDevice") 

pieBits=c(0.1,0.9) 
lab <- c("Some text", "More text") 
win <- gwindow(title="title", width=1000, height=800, expand=TRUE) 
notebook <- gnotebook(container = win) 
lyt3 <- ggraphics(height=500, width=500,ps=6, 
        container = notebook, label="JUNK") 
visible(lyt3) 
pie(pieBits, labels = lab, radius=0.1, par(mar = rep(0.1,4))) 

窗口大,圖形容器大,但比窗口小,餡餅小有小的利潤。那麼爲什麼這不起作用呢?我錯過了什麼?

+1

我沒有運行您的代碼,但是這通常因爲在圖形設備被調用之前圖形設備未被繪製。也許在'pie'命令有幫助之前睡覺一下。有更有趣的解決方案,例如使用指示窗口已實現的信號渲染第一個圖形。 – jverzani

回答

0

完全如前面的評論所述,圖形設備似乎尚未準備好,但情節被調用時。 即使它不是一個「正確」的解決方案,速戰速決我用的是增加一個小的睡眠是這樣的:

win<-gwindow(title = "My window",width = 800) 
add(win,ggraphics()) 
Sys.sleep(.3) 
plot(.......) 

希望它可以幫助