library(ggplot2)
耗油量數據
散點圖
發動機排量(以升爲單位displ)對高速公路耗油量(英里每加侖hwy)散點圖。
點根據汽缸數目着色。
該圖可以發現影響燃油經濟性最重要的因素:發動機排量大小。
qplot(displ, hwy, data = mpg, colour = factor(cyl))
散點圖+迴歸線
更復雜的圖形一般沒有特定的名稱。這幅圖在上圖的基礎上對每個組添加了迴歸線。這個圖應該叫什麼名字呢?
qplot(displ, hwy, data = mpg, colour = factor(cyl)) +
geom_smooth(data = subset(mpg, cyl != 5), method = "lm")
subset(mpg, cyl! = 5)
的意思是不畫cyl = 5
的迴歸線
畫了兩條直線原因是factor(cyl)
散點圖+迴歸線+分面
一個含有分面和多個圖層的複雜圖形
qplot(displ, hwy, data = mpg, facets = . ~ year) + geom_smooth()
四種不同標度的圖例(大小、顏色、形狀、顏色)
從左到右依次是:連續型變量映射到大小和顏色,離散型變量映射到形狀和顏色。
x <- 1:10
y <- factor(letters[1:5])
qplot(x, x, size = x)
qplot(x, x, colour = x)
qplot(y, y, shape = y)
qplot(y, y, colour = y)
座標系
座標系,或簡稱爲coord,可將對象的位置映射到圖形平面上。位置通常由兩個座標(x,y)決定,但是有時可能需要三個或更多(儘管目前還不能在ggplot2中實現)。笛卡爾座標系是最常用的二維座標系,極座標系和各種地圖投影則用得相對少一些。
座標系可以同時影響所有的位置變量。與標度不同,座標系還可以改變幾何對象的外觀。例如,在極座標系中,條形看起來像扇形。另外,標度變換是在統計變換前執行的,而座標變換是在此之後執行的。座標變換的具體效果請見接下來的文章。
三種不同座標系的座標軸和網格線:笛卡爾(Cartesian)、半對數(semi-log)和極座標系(polar)。極座標系展示了非笛卡爾座標系的缺點:很難畫好座標軸。
x1 <- c(1, 10)
y1 <- c(1, 5)
p <- qplot(x1, y1, geom = "blank", xlab = NULL, ylab = NULL) + theme_bw()
p
p + coord_trans(y = "log10")
p + coord_polar()
p <- qplot(displ, hwy, data = mpg, colour = factor(cyl))
summary(p)
保存圖形對象
save(p, file = "plot.rdata")
讀入圖形對象
load("plot.rdata")
將圖片保存成png格式
ggsave("plot.png", width = 5, height = 5)