plot.new还没有被调用

时间:2011-08-22 22:01:49

标签: r plot

为什么会这样?

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 个答案:

答案 0 :(得分:31)

某些可能未在可见代码中显示的操作已关闭交互式屏幕设备。可以通过关闭按钮上的“点击”来完成。 (当绘制到文件图形设备时,也可以通过额外的dev.off()来完成。如果粘贴在其末尾有dev,off()的多行绘图命令,可能会发生这种情况。在外部设备的开口处,然后在一个单独的行上有dev.off(),因此它意外关闭了交互设备。)

某些(大多数?)R实现会启动一个自动打开的屏幕图形设备,但如果关闭它,则需要重新初始化它。在Windows上可能是window();在Mac上,quartz();在Linux机器上,x11()。您还可能需要发出plot.new()命令。我只是按照命令。当我收到错误时,我会发出plot.new(),如果我没有看到情节窗口,我也会发出quartz()。然后我从头开始使用新的plot(., ., ...)命令以及对该绘图屏幕图像的任何进一步添加。

答案 1 :(得分:8)

就我而言,我试图在Rmarkdown文件中的两个单独的块中调用plot(x, y)lines(x, predict(yx.lm), col="red")。在按块运行块时它没有问题,但相应的文档不会编织。在我将所有绘图调用移到一个块之后,问题就解决了。

答案 2 :(得分:3)

作为一个新手,我遇到了同样的'问题'。

用新手来说: 当你调用plot()时,图形窗口会获得焦点而你无法在R中输入更多命令。那时你得出的结论是你必须关闭图形窗口才能返回R. 但是,某些命令(如identify())会作用于打开/活动图形窗口。 当identify()无法找到打开/活动图形窗口时,它会显示此错误消息。

但是,您只需单击R窗口,而无需关闭图形窗口。然后,您可以在R提示符下键入更多命令,如identify()等。

答案 3 :(得分:1)

我遇到了同样的问题......我的问题是我在剧情(x,y)之后关闭了我的石英窗口。一旦我保持打开状态,以前导致错误的线条就会增加我的情节(就像他们应该的那样)。希望这可能会帮助一些到达此页面的人。

答案 4 :(得分:1)

如果有人使用print函数(例如,使用mtext),那么首先描绘一个空图:

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

然后使用newpage = F

进行打印
print(data, newpage = F)

答案 5 :(得分:-1)

当仅运行部分函数时,会发生plot.new()错误。

请查找附件以获取更正错误的示例 有错误....当abline运行时没有上面的plot() enter image description here 无错误......当绘图和abline一起运行时 enter image description here