2012-03-30 90 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