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)