小编给大家分享一下linux命令行下如何使用R语言绘图,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
使用系统: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的。
怎么解决:
在X11模式下执行R语言命令,也就是在linux的桌面。如果你只是在桌面上画画图,那选择这个方式就可以了。
不使用X11生成,使用 图形渲染库Cairo。比如我,需要用脚本,根据实时数据生成统计图,那么用这个方式就很方便。
安装:
启动R控制台
安装
install.packages("Cairo")
会让你选择安装镜像
--- 在此連線階段时请选用CRAN的鏡子 ---CRAN mirror 1: 0-Cloud 2: Argentina (La Plata) 3: Argentina (Mendoza) 4: Australia (Canberra) 5: Australia (Melbourne) 6: Austria 7: Belgium 8: Brazil (BA) 9: Brazil (PR) 10: Brazil (RJ) 11: Brazil (SP 1) 12: Brazil (SP 2) 13: Canada (BC) 14: Canada (NS) 15: Canada (ON) 16: Canada (QC 1) 17: Canada (QC 2) 18: Chile 19: China (Beijing 1) 20: China (Beijing 2) 选一个北京的好了:20
安装出错
configure: error: Cannot find cairo.h! Please install cairo (http://www.cairographics.org/) and/or set CAIRO_CFLAGS/LIBS correspondingly.
所以我们需要先在系统中安装cairo库
yum -y install cairo* libxt*安装完成之后,重新执行:install.packages("Cairo")installing to /usr/local/lib64/R/library/Cairo/libs** R** preparing package for lazy loading** help*** installing help indices** building package indices** testing if installed package can be loaded* DONE (Cairo) 下载的程序包在‘/tmp/RtmpNlGyf3/downloaded_packages'里更新'.Library'里的HTML程序包列表Making 'packages.html' ... 做完了。
安装成功。
加载Cairo后,查看支持:
> library(Cairo)> Cairo.capabilities() png jpeg tiff pdf svg ps x11 win raster TRUE FALSE FALSE TRUE TRUE TRUE TRUE FALSE TRUE 说明已经支持用cairo生成图片了。例如可以使用如下命令生成PNG:CairoPNG(file="out.png",width=800,height=480)
附上一个测试小程序,主要为了说明用法:
#vim test.rlibrary(Cairo)CairoPNG(file="out.png",width=800,height=480)plot(5,4)
保存后执行:
[root@localhost ~]# Rscript test.r R version 3.1.0 (2014-04-10) -- "Spring Dance"Copyright (C) 2014 The R Foundation for Statistical ComputingPlatform: x86_64-unknown-linux-gnu (64-bit)> library(Cairo)> CairoPNG(file="out.png",width=800,height=480)> plot(5,4)>
在当前目录下可以看到生成了图片
[root@localhost ~]# ll总用量 84-rw-r--r--. 1 root root 6832 5月 13 10:33 out.png-rw-r--r--. 1 root root 71 5月 13 10:32 test.r
看完了这篇文章,相信你对“linux命令行下如何使用R语言绘图”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网行业资讯频道,感谢各位的阅读!