【问题标题】:How to set the line width to 0.5 pt in ggplot2?如何在ggplot2中将线宽设置为0.5 pt?
【发布时间】:2016-05-10 04:55:31
【问题描述】:

ggplot2 中,很容易使用element_textsize=6 参数将字体大小设置为6 pt(对于文本,大小的单位是pt)。但是,我们不能使用 element_line 和参数 size=0.5 将线宽设置为 0.5 pt(对于线,大小没有单位)。那么如何解决这个问题呢?

grid 包中,我遇到了类似的问题。代码如下:

library(grid)
grid.rect(width=unit(5, "cm"), height=unit(5, "cm"), gp=gpar(lwd=unit(2, "cm")))

结果是:

显然,与矩形的宽度或高度相比,线宽不是2厘米。

【问题讨论】:

  • 第一个问题,我从https://github.com/yihui/tikzDevice/issues/68得到了答案。正确的 lwd 单位应该是 72.27/96(R 中的 96 个像素是 1 英寸,在 ggplot 图中是 72.27 个点)。所以我可以通过size=72.27/96*0.5在ggplot2中将线宽设置为0.5 pt。但是,第二个问题仍然是一个问题。

标签: r ggplot2 width line r-grid


【解决方案1】:

对于 pdf 设备来说,lwd 单位显然是 1/96 英寸,并且它在线条的两侧对称地延伸

grid.newpage()
grid.rect(width=unit(1, "cm")+unit(1,"mm"), 
          height=unit(1, "cm")+unit(1,"mm"), 
          gp=gpar(lwd=96/2.54, alpha=0.5, linejoin="mitre",linejoin=1))

但是,在windows系统中,结果是:

【讨论】:

  • windows系统和Mac系统有区别吗?
  • ?par 提到对 lwd 的解释是特定于设备的,因此使用 pdf 设备可能比这个交互式设备更幸运。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-07-31
  • 1970-01-01
  • 1970-01-01
  • 2017-03-07
  • 1970-01-01
  • 1970-01-01
  • 2010-10-21
相关资源
最近更新 更多