linux命令行下使用R語(yǔ)言繪圖實(shí)例講解
使用系統(tǒng):centos 6.4 64bit
在R語(yǔ)言中可以使用png()等函數(shù)生成圖片,例如: png("aa.png")可以生成圖片。
但是如果你是通過(guò)shell遠(yuǎn)程連接到系統(tǒng)上,可能會(huì)碰到如下錯(cuò)誤:
> png("aa.png")錯(cuò)誤于.External2(C_X11, paste("png::", filename, sep = ""), g$width, :無(wú)法打開PNG設(shè)備此外: 警告信息:In png("aa.png") : 無(wú)法打開鏈結(jié)到X11顯示''
分析:
打開R控制臺(tái),輸入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,因?yàn)樯蓤D片需要X11,但是shell是沒有X11的。
怎么解決:
1.在X11模式下執(zhí)行R語(yǔ)言命令,也就是在linux的桌面。如果你只是在桌面上畫畫圖,那選擇這個(gè)方式就可以了。
2.不使用X11生成,使用 圖形渲染庫(kù)Cairo。比如我,需要用腳本,根據(jù)實(shí)時(shí)數(shù)據(jù)生成統(tǒng)計(jì)圖,那么用這個(gè)方式就很方便。
安裝:
啟動(dòng)R控制臺(tái)
安裝
install.packages("Cairo")
會(huì)讓你選擇安裝鏡像
--- 在此連線階段時(shí)請(qǐng)選用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) 選一個(gè)北京的好了:20
安裝出錯(cuò)
configure: error: Cannot find cairo.h! Please install cairo (http://www.cairographics.org/) and/or set CAIRO_CFLAGS/LIBS correspondingly.
所以我們需要先在系統(tǒng)中安裝cairo庫(kù)
yum -y install cairo* libxt*
安裝完成之后,重新執(zhí)行: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 說(shuō)明已經(jīng)支持用cairo生成圖片了。 例如可以使用如下命令生成PNG: CairoPNG(file="out.png",width=800,height=480)
附上一個(gè)測(cè)試小程序,主要為了說(shuō)明用法:
#vim test.r library(Cairo) CairoPNG(file="out.png",width=800,height=480) plot(5,4)
保存后執(zhí)行:
[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) >
在當(dāng)前目錄下可以看到生成了圖片
[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
到此這篇關(guān)于linux命令行下使用R語(yǔ)言繪圖實(shí)例講解的文章就介紹到這了,更多相關(guān)linux命令行下使用R語(yǔ)言繪圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
R語(yǔ)言ggplot2x軸順序設(shè)置自定義顏色的操作
這篇文章主要介紹了R語(yǔ)言ggplot2x軸順序設(shè)置自定義顏色的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-04-04
R語(yǔ)言學(xué)習(xí)之基礎(chǔ)繪圖詳解
這篇文章主要為大家詳細(xì)介紹了R語(yǔ)言中基礎(chǔ)繪圖的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以了解一下2023-03-03
R語(yǔ)言使用ggplot繪制畫中畫細(xì)節(jié)放大的方法
這篇文章主要為大家介紹了R語(yǔ)言使用ggplot繪制畫中畫細(xì)節(jié)放大的方法實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-11-11
R語(yǔ)言中矩陣matrix和數(shù)據(jù)框data.frame的使用詳解
這篇文章主要介紹了R語(yǔ)言中矩陣matrix和數(shù)據(jù)框data.frame的使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
詳解R語(yǔ)言MCMC:Metropolis-Hastings采樣用于回歸的貝葉斯估計(jì)
這篇文章主要介紹了R語(yǔ)言MCMC:Metropolis-Hastings采樣用于回歸的貝葉斯估計(jì),本文通過(guò)圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03
R語(yǔ)言數(shù)據(jù)可視化tidyr與ggplot2多個(gè)變量分層展示舉例實(shí)現(xiàn)
這篇文章主要為大家介紹了R語(yǔ)言可視化tidyr與ggplot2多個(gè)變量的分層展示,實(shí)現(xiàn)過(guò)程文中通過(guò)舉例為大家進(jìn)行了詳解,有需要的朋友可以借鑒參考下2021-11-11
R語(yǔ)言中dnorm,pnorm,qnorm和rnorm的區(qū)別淺析
正在學(xué)習(xí)R語(yǔ)言統(tǒng)計(jì)學(xué)的小伙伴,可能會(huì)被各種專有名詞所困擾,下面這篇文章主要給大家介紹了關(guān)于R語(yǔ)言中dnorm,pnorm,qnorm和rnorm區(qū)別的相關(guān)資料,需要的朋友可以參考下2022-12-12

