r - ggplot2 - 大小单位

标签 r ggplot2

一个我在网络(或 Wickham 的书)上找不到答案的简单问题:

ggplot2 中大小参数的单位是什么?例如,geom_text(size = 10) -- 10 采用什么单位?

同样的问题也适用于 ggsave(height = 10, width = 10) 中的默认单位。

最佳答案

答案是:单位是分。是grid包中fontsize的单位。在 ?unit 中,我们找到以下定义

"points" Points. There are 72.27 points per inch.

(但请注意密切相关的“bigpts”Big Points. 72 bp = 1 in.)

内部 ggplot2 会将字体大小乘以魔数(Magic Number) ggplot2:::.pt ,定义为 1/0.352777778

这里是一个演示,我使用 grid 和 ggplot2 创建了一个大小相同的字母:

library(grid)
library(ggplot2)
ggplot(data=data.frame(x=1,y=1,label=c('A'))) +
  geom_text(aes(x,y,label=label),size=100)
## I divide by the magic number to get the same size.
grid.text('A',gp=gpar(fontsize=100/0.352777778,col='red'))

enter image description here

附录感谢@baptiste

“魔数(Magic Number)”(在 aaa-constants.r 中定义为 .pt <- 1/0.352777778)实际上只是“点”和“毫米”之间的转换因子,即 1/72 * 25.4 = 0.352777778 。不幸的是, grid 在“pts”和“bigpts”之间做出了微妙的区别,这解释了为什么 convertUnit(unit(1, "pt"), "mm", valueOnly=TRUE) 给出的值 0.3514598 略有不同。

关于r - ggplot2 - 大小单位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17311917/

相关文章:

r - 锯齿形指标的累积总和

r - 求和直到达到给定值

r - Tidymodels 包 : Visualising a random forest model using ggplot() to show the most important predictors

r - ggplot2 备忘单

r - 获取经纬度图的纵横比

r - 在for循环内打印DiagrammeR对象

r - 从嵌套列表中进行有效抽样

r - ggplot饼图标签

r - 通过简单拟合预测 x 值并在图中注释

r - dplyr group_by 对不在函数中的变量抛出错误