R 如何更改ggplot2中的默认主题? 背景
我想更改ggplot使用的主题,但我很难理解R 如何更改ggplot2中的默认主题? 背景,r,ggplot2,R,Ggplot2,我想更改ggplot使用的主题,但我很难理解theme\u update()文档和示例 我正在使用align_plots()将箱线图放置在密度图上,但我发现这些代码都没有导致错误,只留下一个最小的示例。我怀疑该错误是由于使用了theme\u blank()造成的,但我不确定为什么会发生该错误,也不知道如何修复该错误 因此,这里我提供了一个我得到的错误的最小可重复性示例: library(ggExtra) align.plots(qplot(1)) 但在我更新主题后,它会崩溃: newtheme
theme\u update()
文档和示例
我正在使用align_plots()
将箱线图放置在密度图上,但我发现这些代码都没有导致错误,只留下一个最小的示例。我怀疑该错误是由于使用了theme\u blank()
造成的,但我不确定为什么会发生该错误,也不知道如何修复该错误
因此,这里我提供了一个我得到的错误的最小可重复性示例:
library(ggExtra)
align.plots(qplot(1))
但在我更新主题后,它会崩溃:
newtheme <- theme_update(axis.text.y = theme_blank(),
axis.line = theme_blank(),
axis.title.x = theme_blank(),
axis.title.y = theme_blank(),
axis.ticks.x = theme_blank(),
panel.grid.major = theme_blank(),
panel.grid.minor = theme_blank(),
panel.border = theme_blank(),
axis.color.y = 'white')
align.plots(qplot(1))
问题:
?主题更新()的更多信息?我在ggplot文档中了解到了这一点,但最终还是找不到答案,尽管我得到的最接近的是脚本
opt <- opts(...)
align.plots(qplot(1) + opt)
opt我不知道为什么会这样,但确实如此。只需在调用align.plots之前插入一行theme\u set(newtheme)
。这可能被认为是ggExtra::align.plots()中的一个错误。此函数用于计算ggplot的不同元素(如y轴标签和图例)的大小,并相应地对齐绘图,使绘图面板彼此重叠。如果将主题设置为对其中一些图形元素使用theme_blank(),则函数会混淆,因为底层的grob(ggplot2::.zeroGrob)与其他grob不同
虽然它可能是可修复的(*),但我认为您最好考虑其他选项:
- 使用虚拟镶嵌面变量使ggplot2自动对齐两个面板
- 使用gridExtra::grid.arrange()或普通栅格视口使两个绘图相互重叠;由于删除了可能会偏移打印位置的图元,因此应该没有问题
(*):现在已修复,请尝试
source("http://ggextra.googlecode.com/svn/trunk/R/align.r")
谢谢我以前试过这个;它制作了一个绘图,但是绘图是默认的主题灰()
而不是新主题中的主题空白()
选项,谢谢!不知怎的,它被改变了,我可以像这样恢复它theme\u集(theme\u grey())
嘿,巴蒂斯特!新的align.r似乎位于密码墙后面。有什么建议吗?此软件包已弃用;我建议你用
source("http://ggextra.googlecode.com/svn/trunk/R/align.r")