2015-07-20 109 views
3

我正在准备将R中的数字提交给期刊。所需的格式为mm(线宽= 0.5mm,符号= 3mm等)。定义以毫米为单位的绘图元素大小(R)

我知道如何以mm为单位定义图形大小,并分别在par()或plot函数内分别用lwd和cex管理线宽和符号大小。我还发现如何将点转换为毫米。然而,我不知道如何精确定义线宽,文字大小等,而不是像往常一样“放大”(例如,我想lwd = 0.5mm,而不是lwd = 1.2 x默认大小)。

我希望我足够清楚=)

这里是我的代码:

jpeg(paste('path-to-figure.jpg'), width=15, height=7) 

plot(x, y, main = 'TITLE', xlab = "X NAME",ylab = 'Y NAME', ylim = c(0,180), xlim = c(0, 4)pch = 1) 

dev.off() 

非常感谢!

+0

这可能不是一个编程建议,但我觉得很简单,保存情节为SVG文件,然后使用Inkscape(或任何其他.SVG图像处理软件)打开手动编辑情节的那些东西。它更长,更具互动性,但您可以完全控制尺寸和位置,无论您想要什么单位。 –

+0

这就是我第一次想做的事情......但我可能需要这么做很多次,这可能会非常耗时。此外,Inkscape只需要打开一张图像即可。 – Nausi

回答

1

标准线条宽度jpeg,png等图形设备定义为1/96英寸。见https://stat.ethz.ch/R-manual/R-devel/library/grDevices/html/png.html。对于pdf也是如此,但对于其他设备可能会有所不同。 0.5毫米= 0.5/25.4 * 96 = 1.890英寸的96英寸。所以你会使用lwd = 1.89

您也可以考虑使用ggplot2,因为size之内的值是毫米。

E.g.

ggplot(my_data, aes(x, y)) + geom_line(size = 0.5) 
+0

谢谢!我想我会使用你的第一个解决方案。 – Nausi

相关问题