在网格图形中,有一个很好的小函数get.gpar()可以打印当前图形的参数(像填充,颜色等)。而且我只是好奇ggplot2中是否存在类似的各种便利功能?
如果您以前没有遇到过get.gpar(),那么这是一个愚蠢的例子:
library(grid)
grid.newpage()
get.gpar() #prints default settings
pushViewport(viewport(gp = gpar(fill = "red"))) #change fill to red
get.gpar("fill") #now the default "white" should've changed to "red"
谢谢!
答案 0 :(得分:3)
查看?theme
,我们看到?theme_update
的引用,该引用也描述了theme_get
函数:
names(theme_get())
[1] "line" "rect"
[3] "text" "axis.title.x"
[5] "axis.title.x.top" "axis.title.y"
[7] "axis.title.y.right" "axis.text"
# sniped the rest of the 57 item list of names in the current theme.
与ggplot / ggplot2之前的格子绘图系统一样,这些主题类型的属性保存在列表中,有时带有属性。其中一些的实际值可以看作:
> head( theme_get() )
$line
List of 6
$ colour : chr "black"
$ size : num 0.5
$ linetype : num 1
$ lineend : chr "butt"
$ arrow : logi FALSE
$ inherit.blank: logi TRUE
- attr(*, "class")= chr [1:2] "element_line" "element"
$rect
List of 5
$ fill : chr "white"
$ colour : chr "black"
$ size : num 0.5
$ linetype : num 1
$ inherit.blank: logi TRUE
- attr(*, "class")= chr [1:2] "element_rect" "element"
?theme_set
的帮助页面显示了如何用列表中的+.element
替换单个项目或用%+replace%.element
替换整个列表。在页面上处理示例以更好地理解。