CentOS6.5下實現R繪圖

獵手家園發表於2016-05-12

1、首先安裝R的繪圖包Cairo

下載地址:http://www.rforge.net/Cairo/files/

[root@Hadoop-NN-01 mysofts]# R CMD INSTALL Cairo_1.5-9.tar.gz

 

2、檢查

> library(Cairo)        # 載入Cairo包
> Cairo.capabilities()  # 檢查Cairo包支援的圖片格式 

png    jpeg   tiff      pdf    svg     ps      x11    win     raster 
TRUE   TRUE  FALSE   TRUE   TRUE   TRUE   TRUE  FALSE   TRUE

相容性的檢查Cairo支援的圖形輸出格式:

支援:png、jpeg、pdf、svg、ps、x11(Linux桌面)、raster

不支援:tiff、win(windows桌面)

注:如果是Windows系統,則x11為FALSE, win為TRUE。

 

3、例項

> 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()

結果如下圖:

 

4、可能遇到的錯誤:

1)no png support in this version of R

你R軟體不支援png格式的圖片,用capabilities()函式列印一下,你的環境支援的圖片格式。

錯誤原因:不詳,一般重灌就能解決問題。

 

2)unable to open connection to X11 display

錯誤原因:未安裝安裝X11繪圖裝置。

如何安裝?

在本地(我本地是XP)安裝一個叫Xmanager的軟體。它的主要功能就是接受從伺服器上傳回的繪圖指令,然後再在本地安裝這個指令畫圖。

它實際上監聽了一個埠,這個埠(11號埠?)就是跟繪圖相關的。所以現在本地執行Xmanager後,再在SSH上R中繪圖,就可以了!命令capabilities(),我們也可以看到X11變成TRUE。

下載地址:http://www.xp510.com/xiazai/Networking/mstsc/14456.html

使用方法:

A、開啟軟體

報錯:

錯誤原因:X11 forwarding依賴“xorg-x11-xauth”軟體包,所以必須先安裝“xorg-x11-xauth”軟體包。

[root@Hadoop-NN-01 ~]# yum install xorg-x11-xauth

報錯:“No such file or directory”的錯誤。

錯誤原因:你的linux主機沒有安裝xterm,請安裝:

[root@Hadoop-NN-01 ~]# yum install –y xterm

B、連線成功

C、連線shell

特別注意:一定要勾選x11通道之類的選項。每個shell客戶端都不一樣,但是都有這樣的選項。

進入shell介面檢查:

[root@Hadoop-NN-01 ~]# echo $DISPLAY

如果什麼都沒有輸出,請設定一下:

[root@Hadoop-NN-01 ~]# export DISPLAY=localhost:10.0        #10.0為localhost的埠。

 D、然後進入R

>capabilities()

可以看到x11已經變成TRUE了

然後再執行一遍3例項。

 

3)semi-transparency is not supported on this device

記得載入Cairo包:

>library(Cairo)    #載入圖形渲染庫

Ubuntu系統報錯原因:是由於機器時缺少某些X11相關的庫,請更新r-base-dev以前安裝它所需的所有庫。

[root@Hadoop-NN-01 ~]# sudo apt-get build-dep r-base-dev        #線上安裝,適用於ubuntu系統

 

相關文章