Overview

ggplot2作图包含三大部分:

  1. data:一般就是一个dataframe。
  2. aesthetic mapping:aes函数中跟一些键值对,指定x、y、color、size……
  3. layer:图层,可以在最后叠加。
    1. geom_xxx:图的类型;
    2. xlab:x坐标轴文字;
    3. ylab:y坐标轴文字;
    4. ggtitle:图的标题文字;
    5. facet_grid(行维度 ~ 列维度):根据2个维度进行分组作图;
    6. ……

ggplot2作图公式:

ggplot(data, aes(x=var1, y=var2, ...)) +
	layer1_name() +
	layer2_name() +
	...

Scatter plot

最后使用geom_point

ggplot(iris_small,
        aes(x=Petal.Length,
            y=Petal.Width,
            color=Species,
            size=Sepal.Length)) + geom_point()

【图层】线性趋势线(linear trend line)

配合图层geom_smooth(method="lm", se=FALSE)可以在散点图中增加线性回归拟合的趋势线。se设置为TRUE时,会display confidence interval (not prediction interval) around the trend line.

【图层】颜色映射样式条(viridis)

当aes中的color不再是categorical的,而是continuous的——也就是使用颜色的“深浅”来反映一个点第三个维度的数值,使用图层scale_color_viridis_c(option='...')来指定颜色条样式。

Line plot

最后使用geom_line

ggplot(by_year,
        aes(x=year,
            y=medianGdpPerCap)) + geom_line() + expand_limits(y=0)
# expand_limits(y=0): 扩大坐标轴的范围——确保y=0在我们的坐标轴范围中

Bar plot

最后使用geom_col