溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

linux命令行下如何使用R語(yǔ)言繪圖

發(fā)布時(shí)間:2021-03-17 09:19:32 來(lái)源:億速云 閱讀:890 作者:小新 欄目:開(kāi)發(fā)技術(shù)

小編給大家分享一下linux命令行下如何使用R語(yǔ)言繪圖,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

使用系統(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ú)法打開(kāi)PNG設(shè)備

此外: 警告信息:

In png("aa.png") : 無(wú)法打開(kāi)鏈結(jié)到X11顯示''

分析:

打開(kāi)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是沒(méi)有X11的。

怎么解決:

1.在X11模式下執(zhí)行R語(yǔ)言命令,也就是在linux的桌面。如果你只是在桌面上畫(huà)畫(huà)圖,那選擇這個(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

看完了這篇文章,相信你對(duì)“l(fā)inux命令行下如何使用R語(yǔ)言繪圖”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI