在Ubuntu上使用R获得抗锯齿图

mri*_*rip 7 x11 graphics ubuntu plot r

我升级我的系统并重新安装R,现在我的标准的X-11地块不抗锯齿 - 他们看起来锯齿和字体很糟糕.

我似乎回忆起过去这样的问题,但不记得我对此做了什么.

其他一些信息:

  • qplot 也出来了非抗锯齿
  • 绘制到png设备也会产生非抗锯齿输出
  • pdf然而,绘制到设备会产生漂亮的抗锯齿输出

另一件事:我已经运行了这个版本的R/Ubuntu一段时间了,差不多几个月左右.我不知道这个绘图问题是否会立即开始使用新的R安装,或者我之后做了什么来打破它.我不记得以前注意到缺少抗锯齿,但我可能不会一直在关注,或做了很多策划的.

有谁知道修复是什么?目前,我运行v 3.2.1,从源头抓起,与Ubuntu 14.04.3 LTS编译.

还有一些事情.在这里讨论之后我尝试安装Cairo,但它失败了.此外,我已经能够在R/linux中获得非消除锯齿的图,而不会在过去安装Cairo,如果没有必要,我宁愿不安装额外的东西.

这是我的X11.options():

$display
[1] ""

$width
[1] NA

$height
[1] NA

$pointsize
[1] 12

$bg
[1] "transparent"

$canvas
[1] "white"

$gamma
[1] 1

$colortype
[1] "true"

$maxcubesize
[1] 256

$fonts
[1] "-adobe-helvetica-%s-%s-*-*-%d-*-*-*-*-*-*-*"
[2] "-adobe-symbol-medium-r-*-*-%d-*-*-*-*-*-*-*"

$family
[1] "sans"

$xpos
[1] NA

$ypos
[1] NA

$title
[1] ""

$type
[1] "Xlib"

$antialias
[1] "default"
Run Code Online (Sandbox Code Playgroud)

Met*_*hic 2

X11()我正在运行 R 3.4.0,并且默认情况下会为和设备获得抗锯齿线、“点”和绘图轴png()

但是,我的系统上需要安装某些“Microsoft 字体”软件包才能获得抗锯齿文本。我不能代表 Ubuntu,但在 Arch Linux 上,软件包名称是“ttf-ms-fonts”和“fontconfig-ttf-ms-fonts”,两者都在 AUR 中。良好的 Google 搜索应该会为您自己的系统找到类似的软件包。

以下是png()安装和未安装“ttf-ms-fonts”的设备生成的一些绘图。

  • 没有“ttf-ms-fonts”:

布朗运动无 msfonts

  • 使用“ttf-ms-fonts”:

布朗运动与 msfonts

我希望可以看到两个图中的直线和圆圈都是抗锯齿的,但只有第二个图具有抗锯齿文本。

这是我用来生成上述图的代码:

set.seed(1);
brownian=cumsum(runif(1e3,min=-1));
png("brownian-no-msfonts.png",height=400);
par(cex=1.3);
plot(brownian,ylim=c(-10,15),
    ylab="Position",xlab="Time",main="Brownian Motion");
lines(brownian+7);
dev.off()
Run Code Online (Sandbox Code Playgroud)

我已经确认我需要“ttf-ms-fonts”和“fontconfig-ttf-ms-fonts”(我认为后者配置了默认使用的某些字体),以便在 R 中获取抗锯齿文本,尽管只需要第一个包即可在 Firefox 中获取抗锯齿文本。

然而,我一直在使用“knitr”包,我注意到,如果我使用“rmarkdown”包中的“render”编译我的文档,那么它可以生成带或不带“ttf-ms-”的抗锯齿图。安装了“字体”包。我还没弄清楚它是如何做到这一点的。我知道它运行 Pandoc,它会生成带有嵌入字体的 HTML,但我不确定“rmarkdown”包本身是否包含字体,或者它是否只是更好地了解在我的系统上在哪里可以找到好的字体。

我觉得花时间在这上面很肤浅,但无论如何。