返回

Linux下 R语言不能绘图 unable to start device png的解决方法。

发布时间:2022-12-12 14:35:09 477

报错:

Error in .External2(C_X11, paste0(“png::”, filename), gheight, :
unable to start device PNG
In addition: Warning message:
In png() : unable to open connection to X11 display ‘’。

排查:

进入R
首先在R中输入 capabilities():
查看图片是否可用 对应的包是否为TRUE
png jpeg tiff pdf svg ps x11 win raster
TRUE TRUE FALSE TRUE TRUE TRUE TRUE FALSE TRUE

不为TRUE则需要重新安装。

【解决办法 1】:

不使用X11生成,使用 图形渲染库Cairo。

【步骤1】:安装Cairo包
install.packages(“Cairo”)

【步骤2】:加载Cairo后,查看支持

library(Cairo)
Cairo.capabilities()
png jpeg tiff pdf svg ps x11 win raster
TRUE FALSE FALSE TRUE TRUE TRUE TRUE FALSE TRUE
说明已经支持用cairo生成图片了

Cairo使用起来非常简单,和基础包grDevices中的函数对应。
CairoPNG: 对应grDevices:png()
CairoJPEG: 对应grDevices:jpeg()
CairoTIFF: 对应grDevices:tiff()
CairoSVG: 对应grDevices:svg()
CairoPDF: 对应grDevices:pdf()

【步骤3】:生成图片

CairoPNG(file=“out.png”,width=800,height=480)
hist(clf2$school)
getwd()
[1] “/home/enn_james”
在当前目录下可以看到生成了图片。

【解决办法 2】:

因为有些函数是只能用png包的 所以第二种直接安装png包

1.首先,退出R,然后安装一堆相关的包
$ sudo yum install libpng libpng-devel libtiff libtiff-devel libjpeg-turbo libjpeg-turbo-devel

2.安装png的包
install.packages(“png”)

 

 

./configure --prefix=$prefix --enable-R-shlib --with-x --with-libpng --with-jpeglib && make && make install

查看:
在R中输入 capabilities()

测试:

x<-rnorm(100) # 随机取100个点坐标
y<-rnorm(100)
png(file=“pic_plot.png”, width=640, height=480) # png函数
plot(x, y, col="#ff0000", pch=19, cex=2, main=“plot”)
dev.off()

 

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线
下一篇
Java连接Neo4j数据库 2022-12-12 14:06:20