一个我在网络(或 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'))
附录感谢@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/