使用系统:centos 6.4 64bit
在R语言中可以使用png()等函数生成图片,例如: png("aa.png")可以生成图片。
但是如果你是通过shell远程连接到系统上,可能会碰到如下错误:
> png("aa.png")
错误于.External2(C_X11, paste("png::", filename, sep = ""), g$width, :
无法打开PNG设备
此外: 警告信息:
In png("aa.png") : 无法打开链结到X11显示''
分析:
打开R控制台,输入capabilities(),可以看到:
> capabilities()
jpeg png tiff tcltk X11 aqua http/ftp sockets
FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE
libxml fifo cledit iconv NLS profmem cairo
TRUE TRUE TRUE TRUE TRUE FALSE FALSE
可以看到png为false,因为生成图片需要X11,但是shell是没有X11的。
怎么解决:
1.在X11模式下执行R语言命令,也就是在linux的桌面。如果你只是在桌面上画画图,那选择这个方式就可以了。
2.不使用X11生成,使用 图形渲染库Cairo。比如我,需要用脚本,根据实时数据生成统计图,那么用这