R語言——在linux環境下如何畫圖或儲存圖片
阿新 • • 發佈:2019-01-01
通常在win環境下,我們利用RStudio畫圖非常方便,直接plot就可以展現出圖片,但是在linux環境下,我們通過shell則無法畫圖。
問題
例如我們在linux下的R中輸入如下命令:
png('test.png')
則會出現如下錯誤資訊:
此時提示png不被支援,我們輸入如下命令:Error in .External2(C_X11, paste("png::", filename, sep = ""), g$width, : unable to start device PNG In addition: Warning message: In png("test.png") : no png support in this version of R
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確實是不被支援的。
解決辦法:
使用圖形渲染庫Cairo。在R裡面安裝Cairo包,如果需要離線安裝Cairo請參考連結:點選開啟連結
在shell裡執行命令:
R CMD INSTALL Cairo.tar.gz
但是在執行的過程中出現瞭如下錯誤:
configure: error: Cannot find cairo.h! Please install cairo (http://www.cairographics.org/) and/or set CAIRO_CFLAGS/LIBS correspondingly.
原因為linux系統沒有安裝Cairo庫,解決辦法為在shell中執行:
yum -y install cairo* libxt*
再次嘗試執行:
R CMD INSTALL Cairo.tar.gz
又報瞭如下錯誤,崩潰:
fatal error: X11/Intrinsic.h: No such file or directory
原因應該是又沒有安裝Intrinsic這個東西,所以在shell中執行:
yum -y install */Intrinsic.h
安裝完成後,再次嘗試執行:
R CMD INSTALL Cairo.tar.gz
終於成功,自己都為自己感動了
使用方法:
以下為一個小例子:
library(Cairo)
CairoPNG('test.png') ## 開啟畫圖
plot(graph)## 自定義畫圖
dev.off()## 關閉畫圖
執行完成之後,會發現相應的資料夾中出現了test.png這個圖片。
同時我們也可以輸入如下命令檢視圖片格式的支援情況:
Cairo.capabilities()
可以看到png已經為TRUE。