爲什麼會發生這種情況?plot.new尚未被稱爲
plot(x,y)
yx.lm <- lm(y ~ x)
lines(x, predict(yx.lm), col="red")
錯誤
plot.xy(xy.coords(x, y), type = type, ...)
:plot.new
還沒有被稱爲尚未
爲什麼會發生這種情況?plot.new尚未被稱爲
plot(x,y)
yx.lm <- lm(y ~ x)
lines(x, predict(yx.lm), col="red")
錯誤
plot.xy(xy.coords(x, y), type = type, ...)
:plot.new
還沒有被稱爲尚未
一些行動,很可能在可見的代碼不表示,已經關閉了交互式屏幕設備。這可以通過在關閉按鈕上「點擊」來完成。 (當繪製到文件圖形設備時,也可以通過額外的dev.off()來完成。如果您粘貼一個多行繪圖命令,該命令的最後有一個dev,off()但錯誤在外部設備的開啓處出現,但之後將dev.off()放在單獨的線路上,以致意外關閉交互式設備)。
一些(大多數?)R實現將啓動一個自動打開的屏幕圖形設備,但是如果關閉它,則需要重新初始化它。在Windows上可能是window()
;在Mac上,quartz()
;並在Linux上,x11()
。您還可能需要發出一個plot.new()
命令。我只是按照訂單。當我得到這個錯誤時,我發出plot.new()
,如果我沒有看到一個繪圖窗口,我也發出quartz()
。然後,我從一開始就從一個新的plot(., ., ...)
命令開始,並對該繪圖屏幕圖像進一步添加。
這個答案類似於「如果有疑問,請重新格式化您的硬盤驅動器」的建議。沒有必要添加不需要的plot.new()調用。 OP(顯然)忽略了他的lm()調用,很可能其他一些關閉的調用是plot窗口。 plot.new()不會「重新附加」到現有的x vs y圖上,因此他的lines()調用不會寫入該圖。 –
如果它最壞是無害的,那麼它與您的示例不相似,甚至與rm(list = ls())類似。 –
它並不總是無害的。正如我所指出的那樣,plot(x,y); plot.new(); lines(...)將*不*執行OP所要求的操作 –
我有同樣的問題...我的問題是,我正在關閉我的石英窗後的情節(x,y)。一旦我保持打開狀態,之前導致錯誤的行就會將事情添加到我的情節中(就像他們應該做的那樣)。希望這可能會幫助一些到達此頁面的人。
作爲一個新手,我面臨着同樣的問題。
在新手而言: 當你調用plot()
,圖形窗口獲得焦點,你不能進入進一步的命令爲R.當你決定你必須關閉圖形窗口返回R. 然而也就是說,一些命令,如identify()
,在打開/活動圖形窗口上執行。 當identify()
找不到打開/活動圖形窗口時,它會顯示此錯誤消息。
但是,您只需單擊R窗口而不關閉圖形窗口。
plot(0,type='n',axes=FALSE,ann=FALSE)
然後打印:然後可以如果有人使用print
功能(例如,與多行文字),則首先描繪空積於R提示符下鍵入更多的命令,如identify()
等
與newpage = F
print(data, newpage = F)
以我爲例,我試圖打電話plot(x, y)
和lines(x, predict(yx.lm), col="red")
在Rmarkdown文件中的兩個單獨的塊。它通過塊運行塊時沒有問題,但相應的文檔不會編織。將所有調用調用移入一個塊後,問題得到解決。
如果嘗試在同一個塊內分別運行這些行,而不是執行整個事件,那麼您也會得到該錯誤。我想它調用'dev.off()'在引擎蓋下的某個地方? – Gabriel
作品。請向我們展示'str(x)'和'str(y)'。 – NPE
你如何期待我們評論具體細節?我們沒有'x',''',也沒有用於擬合線性模型的代碼。請幫助我們來幫助你。 –