ggplot2中的字体大小混乱

时间:2014-07-21 20:56:08

标签: r fonts ggplot2 font-size

我正在撰写期刊的手稿,图表的要求是字体大小10。我在R中使用ggplot2尝试了这个,设置如下:

p<-qplot(...)+theme_bw()
ggsave(filename="plot.pdf",plot=p,width=8,height=8,scale=1.3)

图中的x和y轴文字看起来很小..我检查了主题bk()的R代码,我认为轴文本字体是默认的12倍0.8,所以粗略字体10.字体大小为10 ggplot在Word或其他上下文中是否真的等于字体大小10?

我已阅读此帖:ggplot2 - The unit of size

我也很困惑上面帖子中使用的字体大小100是100还是100 / 0.35277 ......这是哪一个?

最后,当我将Illustrator中的数字与其他人一起放在面板中时,生成的轴字体看起来很小。我觉得它不是字体大小10但它是在R中生成的字体大小为10规格。不确定我是否应该使用更大的字体使它看起来更大。

1 个答案:

答案 0 :(得分:4)

评论太长了。我不确定我完全理解你的问题,所以如果这没有用,请告诉我,我会删除它。

width中的heightggsave(...)首先指的是图像的宽度和高度。默认单位为英寸,但可以通过units=...参数进行更改。所以在你的代码中,图像将是8“乘8”。如果您在Acrobat Reader中以100%查看此字体,则字体大小将是您在ggplot中设置的字体大小(参见下文)。但是如果你创建一个8×8的图像(相当大),然后将其缩小以包含在纸张中,一切都会变小。换句话说,如果你纸上的图像是物理上3 X 5(作为例子),那么对gggsave(...)的调用应该反映出来。

其次,在ggplot中,您可以分别设置轴文本的大小(刻度线标签)和轴标题(轴标签)。 theme_bw()中的默认值为axis.title = 12pt,axis.text = 0.8 * 12pt。因此,如果您希望轴标签和刻度线标签都是10pt,则需要指定:

theme_bw() + 
theme(axis.text=element_text(size=10),axis.title=element_text(size=10))