ggplot2中的字体大小混乱
Posted
技术标签:
【中文标题】ggplot2中的字体大小混乱【英文标题】:font size confusion in ggplot2 【发布时间】:2014-09-12 12:27:17 【问题描述】:我正在为一家期刊撰写手稿,并且要求图表的字体大小为 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。字体大小是 10 在ggplot 真的等于 Word 或其他上下文中的字体大小 10?
我读过这篇文章:ggplot2 - The unit of size
而且我也很困惑,上面帖子中使用的字体大小 100 实际上是 100 还是 100/0.35277... 是哪个?
最后,当我将图形和其他图形一起放入面板中时,生成的轴字体看起来非常小。我有点觉得它不是字体大小 10,但它是使用 R 中的字体大小 10 规范生成的。不知道我是否应该使用更大的字体来让它看起来更大。
【问题讨论】:
【参考方案1】:评论太长了。我不确定我是否完全理解你的问题,所以如果这没有帮助,请告诉我,我会删除它。
首先width
和height
中的ggsave(...)
指的是图片的宽高。默认单位是英寸,但这可以通过units=...
参数进行更改。因此,在您的代码中,图像将是 8" x 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 图像并且必须将其缩小以包含在论文中会使字体看起来更小。然后我会在日记中查看一个人物的典型尺寸。 是的,我将为轴文本和标题重置这些字体。谢谢。 所以我需要指定正确的图像尺寸(宽度和高度)以使字体大小与我想要的相同?以上是关于ggplot2中的字体大小混乱的主要内容,如果未能解决你的问题,请参考以下文章
R语言ggplot2可视化改变字体大小实战:单个图片设置字体大小全局设置字体大小