ggplot2:为什么 stript.text.y 不从 strip.text 继承 'angle' 完成主题?
ggplot2: Why stript.text.y not inheriting 'angle' from strip.text when complete theme?
我想为垂直轴设置刻面标签的角度,我注意到我必须在主题中专门使用 set strip.text.y
因为如果我将角度设置为水平,它似乎不会继承它的 parent、strip.text
,即使 complete=TRUE
.
这是为什么? (也许我没有意识到使用了不完整的主题?)使用 ggplot2 v3.3.3.
以下尝试设置 angle=45
不会更改默认角度渲染。
(p <- ggplot(iris, aes(x=Petal.Length)) + geom_histogram() + facet_grid(rows = vars(Species)))
p + theme(strip.text = element_text(angle=45))
p + theme(strip.text = element_text(angle=45), complete=TRUE) #Results in heavier font.
为什么 complete=TRUE
没有触发继承?
必须具体:
p + theme(strip.text.y = element_text(angle=45)) # Works!
我阅读了下面小插图中标题为“完整与不完整(主题)”的部分,但在这个问题上并不清楚。
https://cran.r-project.org/web/packages/ggplot2/vignettes/extending-ggplot2.html
主题元素有层次结构:
strip.text
继承自 text
strip.text.y
继承自 strip.text
strip.text.y.left
(和右)继承自strip.text.y
。
主题案例中的 'Inheritance' 表示当子项中缺少此 属性 时,子项的属性将由父项的属性填充。
如果您使用默认主题评估 theme_get()$strip.text.y
,您会看到 angle
是 -90
:不丢失。因此,无论何时您在父 strip.text
中设置某些内容,strip.text.y
的角度都会推翻父角度。我认为 Kara Woo 在 this talk.
中讨论了这种行为
作为旁注,我不认为您曾经需要指定complete
用于正常绘图目的。它可能只是为包或其他东西构建新主题的有用参数。
我想为垂直轴设置刻面标签的角度,我注意到我必须在主题中专门使用 set strip.text.y
因为如果我将角度设置为水平,它似乎不会继承它的 parent、strip.text
,即使 complete=TRUE
.
这是为什么? (也许我没有意识到使用了不完整的主题?)使用 ggplot2 v3.3.3.
以下尝试设置 angle=45
不会更改默认角度渲染。
(p <- ggplot(iris, aes(x=Petal.Length)) + geom_histogram() + facet_grid(rows = vars(Species)))
p + theme(strip.text = element_text(angle=45))
p + theme(strip.text = element_text(angle=45), complete=TRUE) #Results in heavier font.
为什么 complete=TRUE
没有触发继承?
必须具体:
p + theme(strip.text.y = element_text(angle=45)) # Works!
我阅读了下面小插图中标题为“完整与不完整(主题)”的部分,但在这个问题上并不清楚。
https://cran.r-project.org/web/packages/ggplot2/vignettes/extending-ggplot2.html
主题元素有层次结构:
strip.text
继承自text
strip.text.y
继承自strip.text
strip.text.y.left
(和右)继承自strip.text.y
。
'Inheritance' 表示当子项中缺少此 属性 时,子项的属性将由父项的属性填充。
如果您使用默认主题评估 theme_get()$strip.text.y
,您会看到 angle
是 -90
:不丢失。因此,无论何时您在父 strip.text
中设置某些内容,strip.text.y
的角度都会推翻父角度。我认为 Kara Woo 在 this talk.
作为旁注,我不认为您曾经需要指定complete
用于正常绘图目的。它可能只是为包或其他东西构建新主题的有用参数。