前言
在掌握R语言的基本数据处理和统计分析后,今天我们学习数据可视化下非常流行的一个包——ggplot2,该包有着自成一派的数据可视化理念。当熟悉了ggplot2的基本语法后,数据可视化工作将变得非常轻松而有条理。
在绘制图形的语法原理上,ggplot2采用了图层的设计方式,我们可以从原始的图层开始,首先绘制原始数据,然后不断地添加图形注释和统计汇总的结果,最后生成一幅精美的统计图形。
一、The Setup
在使用ggplot2包进行绘图前,我们需要明确的是,ggplot2仅针对数据类型为"dataframe"的数据集进行图表制作,而无法对类型为向量(vector)或因子(factor)的数据进行绘制。我们可以使用基础包中的class()函数进行数据类型的判断。
> class(mtcars)
使用library()函数载入包:
> library(ggplot2)
二、The Layers
在基本设置的基础上, 我们开始添加图层(layer),用于展现我们需要的图形类型,并进行精细化的操作。
> p <- ggplot(diamonds, aes(x=carat, y=price, color=cut))
同样的,我们也可以在图层里通过aes()函数进行绘图的指定,同样实现上图的效果
> p <- ggplot(diamonds)
三、The Labels
在绘制好图形的基础上,接下来我们为图形添加标签,包括标题(title)、横纵坐标轴等,这些标签通过使用labs()函数来实现。
> p <- ggplot(data = diamonds, aes(x=carat, y=price, color=cut))
除此之外,我们也可以使用ggtitle()、x/ylab()函数进行分别制定,同样能够实现上图效果。
> p + geom_point() + ggtitle("The Scatterplot of diamonds")
四、The Theme
使用theme_()函数进行图形背景的修改
> p + geom_point() + theme_minimal()
ggplot2包里可用的主题比较少,为此我们载入一个新包ggthemes,这个包丰富了原始包的主题选项。
> library(ggthemes)
五、The Facets
当按照某一需要对数据进行分组观察时,我们使用facet_()函数进行分组展示
# 按照cut的不同水平进行分面观察
六、The Annotate
使用annotate()函数为图形添加文本注解、数学公式、直线、矩阵阴影等。
# 文本注解指定为'text'
七、The Guides
在ggplot2中,图例是默认存在的,并一般放在图表右侧,我们可以使用guides()函数进行图例的删除、反转、位置自定义等操作。
# 移除图例
# 反转图例
文章来源:知乎Jason