plot.new еще не был вызван - PullRequest
       35

plot.new еще не был вызван

36 голосов
/ 23 августа 2011

Почему это происходит?

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 еще не звонили

Ответы [ 6 ]

32 голосов
/ 23 августа 2011

Некоторые действия, которые, возможно, не представлены в видимом коде, закрыли устройство с интерактивным экраном.Это может быть сделано либо нажатием на кнопку закрытия.(Это также может быть сделано с помощью дополнительного dev.off () при печати на файлово-графическом устройстве. Это может произойти, если вы вставляете многострочную команду построения, в конце которой есть dev, off (), но есть ошибкипри открытии внешнего устройства, но затем имеет hte dev.off () в отдельной строке, поэтому он случайно закрывает интерактивное устройство).

Некоторые (большинство?) реализации R запускают экранное графическое устройствооткрыть автоматически, но если вы закроете его, вам нужно будет повторно инициализировать его.В Windows это может быть window();на Mac quartz();и на коробке Linux, x11().Вам также может понадобиться выполнить команду plot.new().Я просто выполняю приказы.Когда я получаю эту ошибку, я выдаю plot.new(), и если я не вижу окно графика, я также выдаю quartz().Затем я начинаю сначала с новой команды plot(., ., ...) и любых дальнейших дополнений к этому экранному изображению графика.

8 голосов
/ 03 июля 2016

В моем случае я пытался вызвать plot(x, y) и lines(x, predict(yx.lm), col="red") двумя отдельными частями в файле Rmarkdown. Это работало без проблем при запуске чанка за чанк, но соответствующий документ не был связан. После того как я переместил все вызовы в один блок, проблема была решена.

3 голосов
/ 06 марта 2016

Как новичок, я столкнулся с той же «проблемой».

В терминах новичка: когда вы вызываете plot(), окно графика получает фокус, и вы не можете вводить дальнейшие команды в R. Это значит, что вы должны закрыть окно графика, чтобы вернуться к R. Однако некоторые команды, такие как identify(), действуют в открытых / активных графических окнах. Когда identify() не может найти открытое / активное окно графика, оно выдает это сообщение об ошибке.

Однако вы можете просто щелкнуть в окне R , не закрывая окно графика . Затем вы можете ввести больше команд в приглашении R, например identify() и т. Д.

1 голос
/ 03 июня 2016

Если кто-то использует функцию print (например, с mtext), то сначала изобразите нулевой график:

plot(0,type='n',axes=FALSE,ann=FALSE)

и затем печатать с newpage = F

print(data, newpage = F)
1 голос
/ 28 июня 2013

У меня была такая же проблема ... моя проблема заключалась в том, что я закрывал свое кварцевое окно после графика (x, y).Как только я оставил это открытым, строки, которые ранее приводили к ошибкам, просто добавили вещи к моему графику (как они должны были).Надеюсь, это поможет некоторым людям, которые зашли на эту страницу.

0 голосов
/ 11 января 2018

plot.new () ошибка возникает, когда запускается только часть функции.

Пожалуйста, найдите вложение для примера, чтобы исправить ошибку С ошибкой .... Когда аблайн запускается без plot () выше enter image description here Безошибочно ... Когда и сюжет и аблайн бегут вместе enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...