2011-05-06 126 views
5

而不必在每次調用時重複「height = 4,width = 4,dpi = 72」。 。 。有沒有辦法爲ggsave設置新的默認值?

我曾經試過類似這樣的問題的庫(默認),但它表現不好。我在R-help上問了一個關於它的問題,但似乎沒有人使用它。

它看起來像par(「din」)來自我運行的X11設備,但這不會是ggsave()使用的設備,我不認爲,因爲我要麼保存爲.png或.pdf - 對於我的散點圖和瓷磚圖而言,PDFs是不合適的。當然,當我把它們放到我的LaTeX文檔中時,PDFs會變得更好,但是看起來這是一個理想的控制水平。

感謝您的想法。

回答

8

這可能不是最好的方法,但可以使用不同的高度和寬度默認值編寫包裝函數。例如

my.ggsave <- function(filename = default_name(plot), height= 4, width= 4, dpi= 72, ...) { 
ggsave(filename=filename, height=height, width=width, dpi=dpi, ...) 
} 

現在,我們可以測試,看看是否my.ggsave做什麼,我們希望它:

ggplot(data.frame(x=1:10), aes(x=x, y=x)) + geom_point() 
ggsave("normal_ggsave.png") 

,並確保我們可以通過額外的參數ggsave如果我們需要:

my.ggsave("four_by_four_600.png", dpi=600) 
+0

當然!爲什麼我沒有想到這個?如果R有一個修改函數默認值的機制,而不必混亂名稱空間,那將會很好。我認爲這就是'library(Defaults)'背後的想法,但我沒有仔細研究它,以便找出它爲什麼會落在後面。謝謝! – 2011-05-08 15:54:14

相關問題