Почему это происходит?
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(x,y)
yx.lm <- lm(y ~ x)
lines(x, predict(yx.lm), col="red")
Ошибка в
plot.xy(xy.coords(x, y), type = type, ...)
:plot.new
еще не вызывается
Некоторые действия, которые, возможно, не представлены в видимом коде, закрыли интерактивное экранное устройство. Это можно сделать либо с помощью "click" на кнопке закрытия. (Может также быть сделано дополнительным dev.off() при построении графика на графическом устройстве. Это может произойти, если вы вставляете в команду многострочной графики, у которой есть dev, off() в конце, но ошибки при открытии внешнего устройства, но затем имеет hte dev.off() на отдельной строке, чтобы он случайно закрывал интерактивное устройство).
Некоторые (большинство?) R-реализаций запускают экранное графическое устройство, которое открывается автоматически, но если вы его закроете, вам нужно его повторно инициализировать. В Windows может быть window()
; на Mac, quartz()
; и в окне linux, x11()
. Вам также может потребоваться выполнить команду plot.new()
. Я просто следую приказам. Когда я получаю эту ошибку, я выдаю plot.new()
, и если я не вижу окно графика, я выпускаю quartz()
. Затем я начинаю сначала с новой команды plot(., ., ...)
и любых дополнительных дополнений к изображению на экране.
В моем случае я пытался вызвать plot(x, y)
и lines(x, predict(yx.lm), col="red")
в двух отдельных фрагментах в файле Rmarkdown. Он работал без проблем при запуске куска куском, но соответствующий документ не вяжется. После того, как я переместил все вызовы построения за один кусок, проблема была решена.
У меня была та же проблема... Моя проблема заключалась в том, что я закрывал окно кварца после графика (x, y). Как только я оставил его открытым, строки, которые ранее приводили к ошибкам, просто добавили вещи в мой сюжет (как и предполагалось). Надеюсь, это может помочь некоторым людям, которые приходят на эту страницу.
Как новичок, я столкнулся с той же "проблемой".
В новых условиях:
когда вы вызываете plot()
, окно графика получает фокус, и вы не можете вводить дополнительные команды в R. Это когда вы заключаете, что вы должны закрыть окно графика, чтобы вернуться к R.
Однако некоторые команды, такие как identify()
, действуют на открытые/активные окна графика.
Когда identify()
не может найти открытое/активное окно графика, оно выдает это сообщение об ошибке.
Однако вы можете просто щелкнуть по окну R, не закрывая окно графика. Затем вы можете ввести больше команд в подсказке R, например identify()
и т.д.
Если кто-то использует функцию print
(например, с mtext), сначала изобразите нулевой график:
plot(0,type='n',axes=FALSE,ann=FALSE)
а затем напечатайте с помощью newpage = F
print(data, newpage = F)