R ggplot2 ggsave功能导致图形设备不显示打印
我已经更新了ggplot2库,现在遇到了一个问题,调用ggsave后,图形设备不再显示绘图。我无法解决此问题,这意味着我无法根据需要导出绘图。请帮忙 在网上搜索发现了一些关于dpi不匹配的问题,但设置或更改dpi似乎没有效果。此问题似乎是在更新ggplot2库后开始出现的 以下代码再现了该问题:R ggplot2 ggsave功能导致图形设备不显示打印,r,ggplot2,R,Ggplot2,我已经更新了ggplot2库,现在遇到了一个问题,调用ggsave后,图形设备不再显示绘图。我无法解决此问题,这意味着我无法根据需要导出绘图。请帮忙 在网上搜索发现了一些关于dpi不匹配的问题,但设置或更改dpi似乎没有效果。此问题似乎是在更新ggplot2库后开始出现的 以下代码再现了该问题: library(ggplot2); df <- read.table(textConnection('value,value1 1,1 2,2 3,3 '),header=TRUE,se
library(ggplot2);
df <- read.table(textConnection('value,value1
1,1
2,2
3,3 '),header=TRUE,sep=',');
ggplot(df,aes(x=value,y=value1)) + geom_point();
setwd('c:/temp');
ggsave('test.png');
问题也出现在R的2.15.0和2.15.3中
编辑:更改代码,以便使用sep=',而不是空格加载数据
另外:进一步的测试表明,这实际上可能是RStudio的一个缺陷,以及它在保存ggsave后如何显示图形设备,而不是R本身。在RGui中运行上述脚本不会重现问题,只会在RStudio V0.97.336+V0.97.449中重现问题。似乎是RStudio的问题。对该问题进行了描述和分析
解决方法是安装RStudio V0.97.311,或确保分别执行ggplot和ggsave行(即,不要使用control+enter选择并在块中一起运行)。运行此操作会为我生成一个空的图形设备,但我没有遇到任何其他问题。随后的绘图在新打开的图形设备上显示得很好。(我在操作系统X上。)我也不能在windows XP上复制。我不能在windows 7上复制。谢谢你发布这篇文章。我(在mac电脑上)也遇到了同样的问题,我认为让人们了解正在发生的事情是一件痛苦的事情。我发现我必须时不时地使用dev.off()来清除它。但正如回答中所建议的,单独执行这些行似乎也能奏效。6年后,我在使用
ggsave
功能时遇到了相同的错误Unknown graphics device
。对我来说,我犯了这个错误,只是因为我错过了filename
参数中的图像扩展名.png
。把这个贴在这里,以防万一有人觉得有用。
R version 3.0.0 (2013-04-03)
Platform: i386-w64-mingw32/i386 (32-bit)
locale:
[1] LC_COLLATE=English_New Zealand.1252 LC_CTYPE=English_New Zealand.1252
[3] LC_MONETARY=English_New Zealand.1252 LC_NUMERIC=C
[5] LC_TIME=English_New Zealand.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] plyr_1.8 ggplot2_0.9.3.1 RODBC_1.3-6
loaded via a namespace (and not attached):
[1] colorspace_1.2-2 dichromat_2.0-0 digest_0.6.3 grid_3.0.0 gtable_0.1.2
[6] labeling_0.1 MASS_7.3-26 munsell_0.4 proto_0.3-10 RColorBrewer_1.0-5
[11] reshape2_1.2.2 scales_0.2.3 stringr_0.6.2 tools_3.0.0