如何修复 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: 由于奇点而未定义