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

时间:2011-09-06 19:35:17

标签: r pdf plot font-size

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

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

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

3 个答案:

答案 0 :(得分:3)

您可以按照图表的基础在图表上设置默认字体。

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

还可以使用par('font')来设置字体是粗体,斜体等。对于尺寸,除了Brandon提到的cex参数组,允许将字体大小设置为一个相对术语,还有cin,cra,我相信更多允许一个以英寸或像素为单位设置尺寸。遗憾的是,您无法指定标准字体大小为10或12。

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

答案 1 :(得分:2)

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

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

cex
cex.axis
cex.lab
cex.main

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

答案 2 :(得分:0)

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

quartz(pointsize = 12)

出于某种原因,我的家人=" Helvetica"放置在quartz()内时,它不起作用。

这两项更改 - 更改字体 fontsize 按此顺序运作:

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

因此,对于 pdf() 情节导出和 quartz() 输出,因为它们不会同时运行 - 我&# 39; m使用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()

enter image description here

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

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()

enter image description here