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系統