2

我为我的系统(CentOS)编译了 R 版本 2.12.1(2010-12-16),然后我安装了 Cairo_1.4-5。

当我批量调用我的脚本时,我想使用 Cairo 来生成我的图形的 PNG(也许是 PDF)输出,但是当我使用 X 时这给我带来了困难(我通过 ssh 隧道传输 X,它经常在 R脚本正在运行...),所以这就是我想使用 Cairo 的原因。

(顺便说一句,我没有root访问权限)。

虽然是根据 sessionInfo 安装的

> sessionInfo()
R version 2.12.1 (2010-12-16)
Platform: x86_64-unknown-linux-gnu (64-bit)

locale:
[1] C

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

我不能打电话给 CairoPDF:

> CairoPDF()
Error: could not find function "CairoPDF"

奇怪的是,我可以调用一个名为 cairo_pdf 的函数

> cairo_pdf()
> 

我不能调用 CairoPNG、cairo_PNG 或 cairo_png:

> CairoPNG()
Error: could not find function "CairoPNG"
> cairo_PNG()
Error: could not find function "cairo_PNG"
> cairo_png()
Error: could not find function "cairo_png"

我的安装有问题吗?坦率地说,我不知道如何从这里开始,为什么我什至不能调用 CairoPNG()?

4

2 回答 2

3

在 Ubuntu 上,我有:

> sessionInfo()
R version 2.12.1 (2010-12-16)
Platform: i486-pc-linux-gnu (32-bit)

locale:
 [1] LC_CTYPE=af_ZA.utf8       LC_NUMERIC=C             
 [3] LC_TIME=af_ZA.utf8        LC_COLLATE=af_ZA.utf8    
 [5] LC_MONETARY=C             LC_MESSAGES=af_ZA.utf8   
 [7] LC_PAPER=af_ZA.utf8       LC_NAME=C                
 [9] LC_ADDRESS=C              LC_TELEPHONE=C           
 [11] LC_MEASUREMENT=af_ZA.utf8 LC_IDENTIFICATION=C      

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

然后运行库(开罗),如果没有安装

图书馆(开罗)图书馆(开罗)
中的错误:没有名为“开罗”的包

这意味着你必须安装 Cairo R 包,它与 Cairo 图形系统接口

> install.packages('Cairo')

它将下载、构建和安装包 - 你不需要 root

如果成功,您可以运行

>library(Cairo)
>sessionInfo()
R version 2.12.1 (2010-12-16)<br>
Platform: i486-pc-linux-gnu (32-bit)

locale:
 [1] LC_CTYPE=af_ZA.utf8       LC_NUMERIC=C             
 [3] LC_TIME=af_ZA.utf8        LC_COLLATE=af_ZA.utf8    
 [5] LC_MONETARY=C             LC_MESSAGES=af_ZA.utf8   
 [7] LC_PAPER=af_ZA.utf8       LC_NAME=C                
 [9] LC_ADDRESS=C              LC_TELEPHONE=C           
 [11] LC_MEASUREMENT=af_ZA.utf8 LC_IDENTIFICATION=C      

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] Cairo_1.4-5

高温高压

于 2011-02-02T15:59:04.553 回答
0

这应该这样做:

install.packages("Cairo")
library(Cairo)
于 2013-10-15T06:48:28.033 回答