【问题标题】:How to specify line thickness in points a plot?如何以点为单位指定线的粗细?
【发布时间】:2017-07-27 17:02:30
【问题描述】:

基本的 R 绘图函数通常使用参数lwd 来指定线条粗细。虽然这些是相对线宽,但不同的帮助文件表明这是一个倍增因素。所以线宽lwd = 1 给出了1 * defaultwidth 的线宽。

我在哪里指定线条的默认宽度,或者我如何确保线条是例如特别是 0.75pt,如 Excel 等其他软件中设置的那样?

【问题讨论】:

  • 有问题,自己解决了,放在这里供参考。随意添加到我的答案中,我仍然不能 100% 确定我是否理解正确。

标签: r plot axis


【解决方案1】:

默认线宽取决于用于绘图的设备。为了阅读此信息,您应该了解英寸、点和像素的一般解释。一般规则是:

  • 一个点是 1/72 英寸
  • 一个像素是标准的 1/96 英寸,或 0.75 点。

但这可能取决于您设备的设置:

  • pdf()postscript() 设备:
    • 标准点被视为 1/72 英寸
    • lwd = 1 指的是 1/96 英寸或 0.75 磅的线宽。
  • png()jpeg()tiff()bmp() 设备:
    • 标准点被视为 1/72 英寸
    • 这可以通过设置定义 ppi(每英寸点数)的参数 res 来实现。
    • lwd = 1 是 1/96 英寸,但考虑了 res 的设置。因此,如果res = 96lwd = 1 的厚度为 1pt,但您的点被解释为小于常规点。

另外请记住,对于位图设备,res 的较高设置会在屏幕上炸毁您的图形。所以在前面的例子中,lwd = 1 设置为res = 96 给出了一条粗细为 1pt 的线,但在同一屏幕上显示,这会将线粗细从 1 像素增加到 1.33 像素。如果将两个图形缩放为完全相同的大小,它们看起来是一样的(显然除了分辨率)。

另见:

How do I specify axis thickness in a plot? (in R)

Increasing the thickness of box lines in an R boxplot?

https://graphicdesign.stackexchange.com/questions/199/point-vs-pixel-what-is-the-difference

【讨论】:

  • 对我来说,lwd=1 太薄,lwd=2 太厚,使用十进制值没有区别。有没有可以设置的res参数? @JorisMeys
  • @xm1 PDF 没有 res,因为这在矢量化图像中没有意义。您可以尝试在绘图中设置cex 参数,或在pdf() 函数中设置pointsize 以获得您想要的结果。
  • 我正在绘制 (bxp) 到屏幕 (RStudio) 并使用 lines 添加“粗”线。似乎cexlines 没有区别。谢了!
猜你喜欢
  • 2012-04-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-07
  • 1970-01-01
  • 1970-01-01
  • 2018-10-13
相关资源
最近更新 更多