ggplot2中字体大小混淆问题

5

我正在为一份期刊撰写手稿,要求图形的字体大小为10号。我尝试使用R和ggplot2进行设置,代码如下:

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

图中的x轴和y轴文本看起来非常小。我查看了theme_bw()的R代码,认为轴标题字体是默认的12乘以0.8,大约是字体大小10。在ggplot中,字体大小为10是否真的相当于Word或其他上下文中的字体大小10?
我已经阅读了这篇文章:ggplot2 - The unit of size。但我也被以上帖子中使用的字体大小100究竟是100还是100/0.35277所困惑。哪个是正确的?
最后,当我将该图与其他图一起放入Illustrator的面板中时,生成的轴字体看起来相当小。我有点觉得它不是字体大小10,而是使用R中的字体大小10规范生成的。不确定是否应该使用更大的字体使其看起来更大。
1个回答

9

这段内容有点长,如果我理解不全面的话,请告诉我,我可以删除它。

首先,在ggsave(...)中,widthheight指的是图像的宽度和高度。默认单位为英寸,但可以通过units=...参数进行更改。因此,在您的代码中,图像将为8英寸乘以8英寸。如果您在Acrobat Reader中以100%查看此图像,则字体大小将与您在ggplot中设置的大小相同(见下文)。但是,如果您创建了一个8 X 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))

谢谢您的见解。我没有意识到创建一个8x8的图像并将其缩小以便纳入论文中会使字体看起来更小。我会查看期刊中典型图像的大小。 - olala
好的,我会重置坐标轴文本和标题的字体。谢谢。 - olala
那么我需要指定正确的图像尺寸(宽度和高度),以便字体大小与我打算的大小相同? - olala

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接