2012-03-30 111 views
16

主题化的GGPLOT2使得它很容易贬谪为多个或重复+ opt()...线的需要。但是,我想知道是否有方法来定义geoms和scale颜色的默认值。不必为每个情节编写...+ scale_fill_manual(),我希望能够设置并忘记它。同样,我希望能够设置GEOM的选项,所以我不必重新输入(或忘记重新输入)之类的东西geom_text(...,size=3,color="white")为geoms和规模设置默认GGPLOT2

更新:

对于尺度,似乎在某些时候,有是一个方法:

set_default_scale("colour", "discrete", "grey")

但这个功能似乎并没有在最新版本的GGPLOT2存在。

+2

看到http://groups.google.com/group/ggplot2-dev/ browse_thread/thread/fc838059c281e835?pli = 1 – baptiste 2012-03-30 21:16:31

回答

16

现在还有另一种方法。你基本上可以覆盖任何美学尺度,例如:“

scale_colour_discrete <- function(...) scale_colour_brewer(..., palette="Set2") 
scale_fill_discrete <- function(...) scale_fill_brewer(... , palette="Set2") 

现在,你的美学将是继该行为是彩色或填充。

按:https://groups.google.com/forum/?fromgroups=#!topic/ggplot2/w0Tl0T_U9dI

对于默认为geoms,您可以使用update_geom_defaults,例如:

update_geom_defaults("line", list(size = 2)) 
+2

请注意scale_colour_discrete中的“u”!我只是尝试了这一点,并没有奏效。 – 2014-02-25 00:29:37

+0

我遇到了一个问题,但由于缺乏开发时间,他们似乎正在关闭旧的问题。 https://github.com/hadley/ggplot2/issues/799 – 2014-02-25 01:45:39

4

我想不出什么了geom兴利,但对于scales,一种选择是使用的事实,ggplot S三个分量都可以保存,储存和重新分配任何一样简单 - [R对象其他。

所以,你也许可以创建自己的多尺度的“默认”版本集合,如:

sfmDefault <- scale_fill_manual(...) 
scmDefault <- scale_colour_manual(...) 

等您所需的默认值。把它们放在你的.R档案里,或者放在任何地方,并根据需要使用它们。

+0

这是我现在使用的方法,但是,我仍然想要一种设置默认值的方法,而不必记住'... + sfm'。我想要的另一个原因是我希望能够共享我的代码而不共享主题选项。 – 2012-03-30 14:55:54

+0

@BrandonBertelsen对不起复制你已经知道的东西!我同意这不是你出发的原因。不过,我不知道更好。 – joran 2012-03-30 15:05:43