2
[edit 3] At this point, it is possible for me to use the commands:

library(Cairo)
CairoPNG("test.png")
pie( 1:10, labels=paste("label number",1:10))
dev.off()

to obtain the same figure quality.

显然有同样问题的人:http ://r.789695.n4.nabble.com/Two-questions-on-R-and-cairo-Cairo-td2318527.html


我想知道为什么我使用 Rstudio、Rscript 或仅来自终端的 R 控制台从同一命令中获得不同的结果。我使用的代码很清楚:

png(filename = "test.png")
pie( 1:10, labels=paste("label number",1:10))
dev.off()

使用 Rstudio 获得的图像: 使用 Rstudio 获得的图像

从终端使用 Rscript 或 R 命令提示符获取的图像。(cmd:Rscript script.R) 使用 Rscript/R 提示获取的图像

[编辑 1] 检查我生成的文件时,我实际上有不同的大小和属性:

4,5K test.Rscript.png: PNG image data, 480 x 480, 8-bit colormap, non-interlaced
26K test.Rstudio.png: PNG image data, 480 x 480, 8-bit/color RGB, non-interlaced

[编辑 2:在这里我需要更多帮助] 从 sinQueso 的评论中回答:结果

Rscript -e 'getOption("bitmapType"); capabilities("cairo");'
"Xlib"
cairo 
FALSE

从 Rstudio,我得到:

getOption("bitmapType"); capabilities("cairo");
"cairo"
cairo 
TRUE

我检查了一下,我只是无法使用以下命令加载 cairo:

Error in library(Cairo) : there is no package called ‘Cairo’
Error in library(cairoDevice) : there is no package called ‘cairoDevice’

(已安装 libcairo2-dev)

所以我尝试了:

install.packages('Cairo') 

从 R 控制台,但即使我加载开罗,我显然仍在使用 Xlib。

sessionInfo:唯一的区别:在 RStudio 中加载了 tools_3.3.2

4

0 回答 0