如何修复 r:无效图形状态(3 个解决方案)


在 R 中您可能遇到的错误是:

 Error in .Call.graphics(C_palette2, .Call(C_palette2, NULL)): 
  invalid graphics state

出现此错误的原因可能有以下三个:

1.在同一会话期间,您可以在基本 R 和 ggplot2 中创建绘图。

2.您的ggplot2版本与R版本不兼容。

3.您的图形设置阻止创建新绘图。

本教程分享了三种可用于解决此错误的方法。

如何重现错误

假设我们尝试使用 R 中内置的mtcars数据集创建点云:

 library (ggplot2)

#attempt to create scatterplot 
ggplot(mtcars, aes (x=mpg, y=hp)) +
  geom_point()

我们收到无效图形状态错误,但原因尚不清楚。

以下三种方法显示了如何解决此错误。

方法#1:使用 dev.off() 修复错误

您应该尝试的第一种方法(也是最简单的方法)是简单地使用dev.off()来关闭当前的跟踪设备。

 dev. off ()

然后,您可以再次运行原始代码来创建点云。

在许多情况下,这可以修复错误,因为它会删除用于先前绘图的任何可能干扰当前绘图的绘图设置。

方法#2:通过重新启动 RStudio 修复错误

如果之前的方法不起作用,您可以尝试重新启动 RStudio 会话。

在许多情况下,这也可以修复错误,因为它会清除任何先前干扰当前绘图的绘图设置。

方法#3:通过重新安装 ggplot2 修复错误

如果前两种方法不起作用,您可能需要卸载并重新安装 ggplot2。

您可以使用以下语法卸载当前版本的 ggplot2:

 #uninstall ggplot2
remove.remove. packages (" ggplot2 ")

然后,您可以使用以下语法安装最新版本的 ggplot2:

 #install ggplot2
install. packages (" ggplot2 ")

然后您可以再次运行代码来创建点云:

在大多数情况下,我们现在能够创建没有任何错误的绘图。

其他资源

以下教程解释了如何解决 R 中的其他常见问题:

如何在 R 中修复:因子水平无效,生成 NA
如何在 R 中修复:plot.new 尚未被调用
如何修复 R: 由于奇点而未定义

添加评论

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