ggplot(准确来说是 ggplot2)是基于 R 语言的数据可视化包,基于图层语法(Grammar of Graphics)设计,能帮助用户将数据以直观易懂的图形展示出来。以下为你详细介绍:
基本概念和用途
- 概念:它把图形拆解为数据、美学映射、几何对象、统计变换、位置调整、标度、分面、坐标系和主题等多个可组合的元素。通过对这些元素进行设置和叠加,构建出各种可视化图形。
- 用途:广泛应用于数据探索、数据分析结果展示、学术论文图表绘制、商业报告可视化呈现等场景。在科研领域,能将实验数据、调查数据等以专业图表呈现;在商业分析中,可直观展示销售数据变化、市场份额占比等信息。
语法规则
- ggplot () 函数:用于初始化一个 ggplot 对象,指定绘图使用的数据集。如
ggplot(data = mpg)
,表示使用mpg
数据集开始绘图。 - aes () 函数:定义美学映射,将数据变量映射到图形的视觉属性(如颜色、大小、形状等)上。例如
aes(x = cty, y = hwy, colour = class)
,即把cty
变量映射到 x 轴,hwy
变量映射到 y 轴,class
变量映射图形颜色。 - 几何对象函数(geom_*()):添加图形的几何元素。如
geom_point()
用于绘制散点图,geom_line()
绘制折线图,geom_bar()
绘制柱状图 。 - 图层叠加(+ 号):通过
+
号将不同的图层(如几何对象、标度、分面等)依次叠加,构建完整图形。比如ggplot(mpg, aes(displ, hwy)) + geom_point()
,就是在指定数据和映射基础上添加散点图层。 - 其他辅助函数:包括标度函数(如
scale_colour_brewer()
设置颜色标度)、分面函数(如facet_wrap()
和facet_grid()
对数据分面展示)、坐标系函数(如coord_flip()
翻转坐标轴)、主题函数(如theme_minimal()
设置主题样式) 等。
常见图形类型
- 散点图:使用
geom_point()
函数绘制,展示两个变量之间的关系,用于探索数据分布和相关性。 - 折线图:借助
geom_line()
函数创建,适合展示数据随时间或连续变量的变化趋势,常用于时间序列数据可视化。 - 柱状图:由
geom_bar()
或geom_col()
函数实现。geom_bar()
自动计算计数,适用于展示分类变量的频数;geom_col()
用于展示已有的数值数据,比较不同类别间的数值差异。 - 直方图:利用
geom_histogram()
绘制,用于展示数值型数据的分布情况,可通过设置binwidth
参数调整组距。 - 箱线图:通过
geom_boxplot()
函数生成,能展示数据的分布特征(如中位数、四分位数、异常值等),便于比较不同组数据的分布差异 。 - 热力图:使用
geom_tile()
函数绘制,用于展示两个变量之间的相关性或数据的密度分布,在展示相关矩阵、数据聚类结果等方面应用广泛。 - 饼图:可以通过
geom_bar()
函数结合coord_polar()
函数创建,用于展示不同类别在总体中的占比情况 。