【问题标题】:Define plot elements size in mm (R)以 mm (R) 为单位定义绘图元素大小
【发布时间】:2015-10-09 17:32:00
【问题描述】:

我正在准备 R 中的数字以提交给期刊。所需格式以毫米为单位(线宽 = 0.5 毫米,符号 = 3 毫米等)。

我知道如何以 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()

非常感谢!

【问题讨论】:

  • 这可能不是编程建议,但我发现将绘图保存为 SVG 文件然后用 Inkscape(或任何其他 .svg 图像软件)打开它以编辑绘图中的那些内容更简单手动。它更长且具有交互性,但您可以完全控制您想要的任何单位的尺寸和位置。
  • 这就是我最初想做的事情......但我可能需要做很多次,而且可能真的很耗时。此外,Inkscape 只需要打开一张图像就可以了....

标签: r


【解决方案1】:

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

您也可以考虑使用ggplot2,因为size 无论如何都以毫米为单位。

例如

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

【讨论】:

  • 谢谢!我想我会使用你的第一个解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多