ggplot2(10) 減少重複性工作

10.1 簡介

靈活性和魯棒性的敵人是:重複!

10.2 迭代

last_plot()用於獲取最後一次繪製或修改的圖形。

10.3 繪圖模板

gradient_rb <- scale_colour_gradient(low = "red", high = "blue")
qplot(cty, hwy, data = mpg, colour = displ) + gradient_rb
qplot(bodywt, brainwt, data = msleep, colour = awake, log = "xy") + gradient_rb

ggplot2圖形中的每一個組件都是一個對象,可以被創建、存儲並獨立應用於某個圖形中。

另外,ggplot2中的組件也可以存儲爲list格式的列表。想某個圖形中添加組件列表和將其中的組件按順序逐個添加是一樣的效果。

xquiet <- scale_x_continuous("", breaks = NULL)
yquiet <- scale_y_continuous("", breaks = NULL)
quiet <- list(xquiet, yquiet)

qplot(mpg, wt, data = mtcars) + quiet
qplot(displ, cty, data = mpg) + quiet

類似的,創建一個改變圖形默認設置的函數也可以,下例創建了一個在圖形中添加線性模型的函數。

geom_lm <- function(formula = y ~ x) {
    geom_smooth(formula = formula, se = FALSE, method = "lm")
}
qplot(mpg, wt, data = mtcars) + geom_lm()
library(splines)
qplot(mpg, wt, data = mtcars) + geom_lm(y ~ ns(x, 3))

總結

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章