R图中的字体

Posted

技术标签:

【中文标题】R图中的字体【英文标题】:Fonts in R plots 【发布时间】:2010-11-26 14:09:15 【问题描述】:

哪些图形设备允许我在图表中使用系统字体来显示文本?基本图形系统只有少量关于 par(family=...) 选项的文档。

理想情况下,我希望能够使用我可以通过 Linux 上的 xfontsel 之类的工具或其他平台上的等效实用程序浏览的任何字体。

我目前的解决方案是绘制为 PDF,然后使用第 3 方程序替换 PDF 中的字体。这并不理想。

【问题讨论】:

【参考方案1】:

pdf() 命令可以使用字体列表,如下所示:

> names(pdfFonts())
 [1] "serif"                "sans"                 "mono"                
 [4] "AvantGarde"           "Bookman"              "Courier"             
 [7] "Helvetica"            "Helvetica-Narrow"     "NewCenturySchoolbook"
[10] "Palatino"             "Times"                "URWGothic"           
... etc ...

在创建 PDF 时使用,例如:

> pdf(file="plot.pdf",family="Palatino", pointsize=16, width=16,height=10)

【讨论】:

【参考方案2】:

您可以使用带有cairo_pdf 的系统字体。在 Ubuntu(以及许多其他类型的 Linux,我猜)上,family 参数采用您在fc-list 中看到的任何字体名称。

或者,您可以使用extrafont 包。这将允许您在常规pdf 设备上使用任何系统字体。

【讨论】:

以上是关于R图中的字体的主要内容,如果未能解决你的问题,请参考以下文章

在 R 图中指定字体大小

ggplot2中的字体大小混乱

如何在R中的能量图中绘制曲线?

在 R 中的折线图中添加误差线(ggplot)

在R中的多个点之间的图中添加多个线段

R 的 plot() 中的默认字体是啥?