什么是"父元素" ggplot2?

时间:2017-06-20 22:20:08

标签: r ggplot2

ggplot2?ggplot2::rel()问题。

rel(5)

  

rel()用于指定相对于父级的大小。

什么是"父母"究竟?例如,我喜欢将我的情节标题的大小设置为.pt。我的标题宽度是多少英寸?

我注意到有两个"单位"我相信某种方式在ggplot2 rel()中用作相关大小。我认为.pt.pt之间存在某种关系。 2.845276等于{{1}}。为什么??而2.845276是什么?像素?

3 个答案:

答案 0 :(得分:3)

父母在help("theme")中定义。请注意文档中所说的大多数参数"继承自......"。这是面向对象的编程。

例如,axis.textaxis.text.x的父级:

library(ggplot2)
library(gridExtra)
DF <- data.frame(x = 1, y = 2)
p1 <- ggplot(DF, aes(x, y)) + geom_point()
p2 <- p1 + theme(axis.text.x = element_text(size = rel(2)))
p3 <- p2 + theme(axis.text = element_text(size = 5))

grid.arrange(p1, p2, p3, ncol = 1)

resulting plot

答案 1 :(得分:1)

父元素是当前主题绘制的图形本身。您可以使用rel()来缩放与父对象相关的任何内容,而父对象不是数据的一部分(标题,轴等)。

它专门用于相对于当前情节的主题的其余部分缩放内容。

正如你可能期望的那样,对于相对来说,相对来说,它没有绝对尺寸,而不是英寸或厘米。但您可以使用它来扩展您的情节标题,如下所示:

g + theme(plot.title = element_text(size = rel(5)))

其中g是你要添加东西的情节。

这告诉ggplot缩放你的情节标题中的文字,以相对于主题的其余部分将其缩放5。您也可以使用小数缩小它。这些数字有点奇怪,比如线条大小或字形大小,最好的办法是尝试一些,看看是什么让你最接近你想去的地方!

答案 2 :(得分:1)

关于2.845276

all.equal(convertUnit(unit(1,"mm"),"pt", valueOnly = TRUE), ggplot2::.pt)