为什么使用 tikzDevice 和 lattice 时轴标签太大?

为什么使用 tikzDevice 和 lattice 时轴标签太大?

我正在写一篇论文,准备提交给 Elsevier 期刊。官方指南声明:

一般来说,艺术品上的字体成品印刷大小应为:普通文本 7 pt,上标和下标字符不小于 6 pt。

我使用 knitr + lattice + tikzDevice 组合。我设置了以下选项:

opts_chunk$set(include=FALSE, error=FALSE, warning=FALSE, echo=FALSE,
dev="tikz", dev.args=list(pointsize=10), fig.align="center")

我的图是用 生成的fig.width=3.5, fig.height=3.5。我通过调用 获得以下结果xyplot,无需传递任何cex选项:

在此处输入图片描述

轴标签大于正文,其normalsize为 10pt(我认为——我正在使用elsarticle带有该选项的文档类3p)。

当我打开其中一个生成的tikz文件时,我发现了几个节点声明,例如这个:

\node[text=drawColor,anchor=base,inner sep=0pt, outer sep=0pt, scale=  1.20] at (137.00, 12.04) {Day};

它看起来像是tikzDevice对轴标签应用了 1.2 的比例因子;奇怪的是,使用基础图形制作的图形似乎并非如此。

知道为什么会出现这种现象吗?我该怎么做才能将轴标签的大小缩小到所需的 7pt?

答案1

base_size自从我提出这个问题以来,我已经切换到ggplot,并且通过该包,我可以通过更改主题的参数来获得所需的大小:

theme_set(theme_bw(base_size = 7))

我还没有检查过,但我怀疑可以用格子做类似的事情。

答案2

我也使用 ggplot,但将 base_size 设置为林德洛夫建议的方法对我不起作用。诀窍是明确设置轴标签的字体大小:

ggplot(...) + theme(axis.title = element_text(size = 10))

相关内容