有没有"检查"在ggplot2中输入函数?

时间:2017-04-08 23:21:30

标签: r ggplot2

在网格图形中,有一个很好的小函数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" 

谢谢!

1 个答案:

答案 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替换整个列表。在页面上处理示例以更好地理解。