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的。
怎麼解決:
1.在X11模式下執行R語言命令,也就是在linux的桌面。如果你隻是在桌面上畫畫圖,那選擇這個方式就可以瞭。
2.不使用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.r library(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 Computing Platform: 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語言繪圖實例講解的文章就介紹到這瞭,更多相關linux命令行下使用R語言繪圖內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!