缩放整个 R 图

Scale entire R plot

要解决 Word PDF export imposes a minimum line width on embedded SVG graphics 的问题,我需要创建我的 R 图的缩放版本。例如,而不是

svg(file="plotA.svg", width=5.9, height=3)

我想创建一个 10 倍大小的 SVG:

svg(file="plotAx10.svg", width=59, height=30)

同时,我不希望剧情中的任何东西相对于彼此发生变化。所以 plotAx10.svg 缩放到 10% 应该与 plotA.svg.

完全相同

我可以使用 cexlwd 图形参数实现我想要的大部分内容,例如par(cex=0.8*10, lwd=10)。但是有些功能似乎没有考虑到它们。这是正确的方法吗?还是我错过了其他一些全局尺度参数?如果没有,需要单独配置哪些功能?

据我所知,没有全局缩放参数。 cexlwd 是一个好的开始,但您还需要修改其他几个函数调用。但是,如果这样做,您将获得(亚)像素完美放大版的绘图。

对于 SVG 导出中的比例图,我会在变量中定义比例因子,例如

sc = 10

然后您需要在 svgpar 中使用它:

svg(file="...", width=sc*5.9, height=sc*3)
par(cex=sc*0.8, lwd=sc)

每当您在图形函数上显式设置 lwdcex 时,该值都需要乘以 sc。此外,以下命令不采用 par 中的设置,因此您需要为它们明确设置缩放值,例如与

axis(..., lwd=par()[["lwd"]])
mtext(..., cex=par()[["cex"]])

points 函数是此规则的一个例外。如果您已将 cex 参数设置为该函数,例如

points(..., cex=0.72)

此通话需要保持原样。 points 函数似乎在内部将参数值与全局值 cex.

相乘