如何在绘图中指定字体大小(用于 PDF 输出)?

Posted

技术标签:

【中文标题】如何在绘图中指定字体大小(用于 PDF 输出)?【英文标题】:How to specify font size in a plot (for PDF output)? 【发布时间】:2011-11-11 14:47:06 【问题描述】:

关于如何将 cex 校准为字体大小单位的任何想法?

具体来说,我想使用默认系列“Helvetica”并指定字体大小以对应 .doc 字体大小。例如,主标题使用 12 号字体,轴标题使用 10 号字体。

非常感谢您的建议和建议。谢谢!

【问题讨论】:

【参考方案1】:

您可以逐个绘图设置默认字体。

par(family = 'Helvetica')
plot(rnorm(10), main = 'Something In Helvetica')

还有一个par('font')可以用来设置字体是粗体还是斜体等等术语,还有 cin、cra 和我相信更多允许以英寸或像素为单位设置大小。遗憾的是,您不能指定标准字体大小为 10 或 12。

查看par() 的帮助并仔细阅读。

【讨论】:

你先生,真是个天才。【参考方案2】:

您的第一个问题需要一些繁重的工作。这里有一套很好的说明: http://www.jameskeirstead.ca/typography/changing-the-fonts-in-r-plots/我不知道“更简单的方法”。但我很想看看。

对于第二个问题:请参阅?par,特别是有关 cex 的部分。

cex
cex.axis
cex.lab
cex.main

此外,您可以在?pdf 中使用pointsize 设置来调整相对大小。

【讨论】:

不幸的是,该链接末尾的位表示它不适用于 pdf 设备。【参考方案3】:

也许尝试在您的quartz() 中使用pointsize = 12? https://stat.ethz.ch/R-manual/R-devel/library/grDevices/html/quartz.html

quartz(pointsize = 12)

由于某种原因,我的 family="Helvetica" 放在 quartz() 中时不起作用。

这两项更改 - 更改 fontfontsize 的工作顺序如下:

quartz(pointsize = 12) # define point size
par(mar=c(3,3,1,1), family = "Helvetica")    # define family
plot(...)

因此,对于 pdf() 绘图导出和 quartz() 输出,因为它们不会同时运行 - 我使用的是 pdf()用于导出我的绘图,但quartz() 只是为了将绘图复制到 MS Word 文档

library(extrafont)       # library needed to have your fonts
loadfonts() ## for pdf() 

# pdf plot export - now doesn't run, because now I want just check changes in my quartz() plotting
# pdf("my_plot_in_pdf.pdf", height = 4, width = 4, family = "Helvetica") 

quartz(height = 4, width = 4, pointsize = 12)  # check my changes in plot, if I want to export my plot, I just set #quartx(...)
    par(mar=c(4,4,1,1), family = "Helvetica")
    plot(cars, main = "Helvetica, 12", ylab = "y label", xlab = "x label", cex = 1)
    dev.off()

或更改我的家庭和积分大小:

quartz(height = 4, width = 4, pointsize = 20)
par(mar=c(4,4,1,1), family = "Times New Roman")
plot(cars, main = "Times New Roman, 20", ylab = "y label", xlab = "x label", cex = 1)
dev.off()

【讨论】:

以上是关于如何在绘图中指定字体大小(用于 PDF 输出)?的主要内容,如果未能解决你的问题,请参考以下文章

用matlab绘图如何定义坐标轴上的数字字体大小?

在 R 图中指定字体大小

如何在 R 中增加绘图中的字体大小?

如何在 R 中增加绘图中的字体大小?

如何使用 PyQtgraph 更改绘图的刻度字体大小

为啥WORD转换PDF时字体会丢失?