如何在 r 中修复:plot.new 尚未被调用


使用R时可能遇到的错误是:

 Error in plot.xy(xy.coords(x, y), type = type, ...): 
  plot.new has not been called yet

当您尝试执行要求 R 中已存在绘图但不存在绘图的操作时,会出现此错误。

以下示例展示了如何在实践中纠正此错误。

示例 1:如何使用lines()修复错误

假设我们尝试在 R 中绘制一条拟合回归线:

 #createdata
df <- data. frame (x=c(1, 2, 2, 3, 5, 6, 8, 8, 9, 9, 10, 11, 12, 15, 15),
                 y=c(2, 3, 3, 4, 5, 5, 6, 7, 8, 8, 9, 10, 16, 19, 28))

#fit polynomial regression model
model <- lm(y~poly(x, 2), data=df)

#define new sequence of x-values
new_x <- seq(min(df$x), max(df$y))

#attempt to plot fitted regression line
lines(new_x, predict(model, newdata = data. frame (x=new_x))) 

Error in plot.xy(xy.coords(x, y), type = type, ...): 
  plot.new has not been called yet

我们收到错误,因为如果不先在 R 中创建路径,就无法使用lines()函数。

为了纠正这个错误,我们可以首先创建一个散点图,然后使用lines()函数:

 #create data
df <- data. frame (x=c(1, 2, 2, 3, 5, 6, 8, 8, 9, 9, 10, 11, 12, 15, 15),
                 y=c(2, 3, 3, 4, 5, 5, 6, 7, 8, 8, 9, 10, 16, 19, 28))

#fit polynomial regression model
model <- lm(y~poly(x, 2), data=df)

#define new sequence of x-values
new_x <- seq(min(df$x), max(df$y))

#create scatterplot of x vs. y values
plot(y~x, data=df)

#attempt to plot fitted regression line
lines(new_x, predict(model, newdata = data. frame (x=new_x))) 

请注意,我们没有收到错误,因为我们在使用lines()函数之前首先使用了plot( )函数。

示例 2:如何使用 abline() 纠正错误

假设我们尝试在 R 中创建带有水平直线的散点图:

 #create data
df <- data. frame (x=c(1, 2, 2, 3, 5, 6, 8, 8, 9, 9, 10, 11, 12, 15, 15),
                 y=c(2, 3, 3, 4, 5, 5, 6, 7, 8, 8, 9, 10, 16, 19, 28))

#attempt to add horizontal line at y=10
abline(a=10, b=0, lwd=2)

Error in plot.xy(xy.coords(x, y), type = type, ...):
  plot.new has not been called yet

我们收到错误,因为如果不先在 R 中创建绘图,我们就无法使用abline()函数。

为了纠正这个错误,我们可以首先创建一个散点图,然后使用abline()函数:

 #createdata
df <- data. frame (x=c(1, 2, 2, 3, 5, 6, 8, 8, 9, 9, 10, 11, 12, 15, 15),
                 y=c(2, 3, 3, 4, 5, 5, 6, 7, 8, 8, 9, 10, 16, 19, 28))

#create scatterplot of x vs. y
plot(y~x, data=df)

#add horizontal line at y=10
abline(a=10, b=0, lwd=2)

请注意,我们没有收到错误,因为我们在使用abline()函数之前首先使用了plot()函数。

相关:如何在 R 中使用 aline() 向路径添加直线

其他资源

以下教程解释了如何修复 R 中的其他常见错误:

如何修复 R:意外的字符串常量
如何修复 R:ExtractVars 中的模板公式无效
如何在 R 中修复:参数既不是数字也不是逻辑:返回 na

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注