手动为calcStringMetric设置gpar

时间:2018-08-11 21:59:42

标签: r

我正在尝试使用calcStringMetric来获取字符串的宽度。在创建视口期间定义cex之类的属性时,我得到了预期的结果

grid.newpage() 
pushViewport(viewport())
get.gpar(c("cex")) #1
calcStringMetric("Hello World")$width #0.864

grid.newpage() 
pushViewport(viewport(gp = gpar(cex=1.4)))
get.gpar(c("cex")) # 1.4
calcStringMetric("Hello World")$width #1.212

但是如何即时更新这些值?例如也许现在我想在不创建新视口的情况下计算cex 2的长度。

根据 calcStringMetric

的帮助
  

此功能的度量标准信息基于字体   调用此函数时有效的设置。它不会   必须与任何文本的度量标准信息相对应   在页面上绘制。

gpar

  

默认参数设置由ROOT视口定义,   从图形设备获取其设置。这些默认值可能有所不同   设备之间(例如,PNG的默认填充设置不同   设备与PDF设备相比)

所以我认为 calcStringMetric 会退回到当前视口中定义的属性。

#Empty initialize but re define
grid.newpage() 
pushViewport(viewport())
current.viewport() # and now how do I set a new custom cex to call calcStringMetric
# .....
get.gpar(c("cex")) 

0 个答案:

没有答案