1. 几何对象
几何对象,简写为geom,实行图层的实际渲染,控制创建图形的类型
例如,用点类几何对象可以创建一个散点图,用线类几何对象可以创建一个线图
图元
- geom_blank() : 什么也不展示。最大的功能是使用数据调整坐标轴
- geom_point(): 点
- geom_path(): 路径
- geom_ribbon(): 条带,带有垂直厚度的路径
- geom_segment(): 线段,指定初始位置和结束位置
- geom_rect(): 矩形
- geom_polygon(): 填充多面体
- geom_text(): 文本
单个变量
-
离散
geom_bar(): 展示离散变量的分布 -
连续
geom_histogram(): 计算封箱(bin)连续数据并用条带展示
geom_density(): 平滑密度估计
geom_dotplot(): 将大量的点放到点图中
geom_freqpoly(): 计算封箱(bin)连续数据并用线图展示
两个变量
-
两个均为连续的
geom_point(): 散点图
geom_quantile(): 平滑的分位回归
geom_rug(): 边际轴须图(marginal rug plot)
geom_smooth(): 最佳拟合平滑曲线
geom_text(): 文本标签 -
展示分布
geom_bin2d(): 计算封箱到矩形中
geom_density2d(): 平滑的二维密度估计
geom_hex(): 计算封箱到六边形中 -
至少一个离散变量
geom_count(): 计算在不同位置点的个数
geom_jitter(): 计算抖动重叠的点 -
一个离散,一个连续
geom_bar(stat = “identity”): 事先计算好的概要条形图
geom_boxplot(): 随机抖动重叠的点
geom_violin(): 展示每组值得密度 -
一个变量是时间序列,一个是连续的
geom_bar(): 面积图
geom_line(): 线图
geom_step(): 步阶图 -
展示不确定性
geom_crossbar(): 带有中心点的垂直条形图
geom_errorbar(): 误差条形图
geom_linerange(): 垂线
geom_pointrange(): 带有中心的垂线 -
空间变量
geom_map(): geom_polygon()绘制地图数据的快速版本
三个变量
- geom_contour(): 轮廓图
- geom_tile(): 平铺矩形图
- geom_raster(): geom_tile()平等尺寸平铺的快速版本
每个几何对象都有一系列它可理解的——甚至是必须的——图形属性
例如,点的几何对象要求坐标位置x和y,并且它能理解颜色、尺寸、形状相关的几何属性。一个条形图需要高度(ymax),并理解宽度、边界颜色和填充颜色。每个几何对象在文档中都罗列了它的图形属性
一些几何对象主要的区别是参数上的。例如,可以用三种方式画出一个长方形
- 给定geom_tile()的位置坐标(x和y)以及维度(width和height)
- 给定geom_rect()y的上(ymax)和下(ymin)边界,x的左(xmin)和右(xmax)边界
- 给定geom_polygon()每个角的四行带有x和y位置的数据框
其它相关的几何对象有:
geom_segment()和geom_line()
geom_area()和geom_ribbon()
如果有替代的参数,为数据选择一个正确的参数,通常能使绘图过程变得更容易
2. 统计变换
统计变换简称为stat,是用来转换数据的,通常通过某种形式的概括得到
一个有用的例子是平滑变换,它可用来计算给定x的情况下y的平滑均值
- stat_bin(): geom_bar() geom_freqpoly() geom_histogram()
- stat_bin2d(): geom_bin2d()
- stat_bindot(): geom_dotplot()
- stat_binhex(): geom_hex()
- stat_boxplot(): geom_boxplot()
- stat_contour(): geom_contour()
- stat_quantile(): geom_quantile()
- stat_smooth(): geom_smooth()
- stat_sum(): geom_count()
很少直接调用这些函数,不过了解它们是很有用的,因为它们的文档中提供了相关的统计变换的更多细节
下面是一些不能用geom_函数创建的统计变换
- stat_ecdf() : 计算经验累积分布图
- stat_function(): 通过定义于x值上的函数来计算y值
- stat_summary(): 在不同的x值上概述y值
- stat_summary2d() stat_summary_hex(): 概述封箱数据
- stat_qq(): 概述Q-Q图的计算
- stat_spoke(): 将角和半径转化为位置
- stat_unique(): 去掉重复的行
可用两种方式使用这些函数
或者添加stat_()函数并修改默认的几何图像,或者添加geom_()函数并修改默认的统计变换
ggplot(mpg, aes(trans, cty)) +
geom_point() +
stat_summary(geom = "point", fun.y ="mean", color = "red", size = 4)
ggplot(mpg, aes(trans, cty)) +
geom_point() +
geom_point(stat = "summary", fun.y = "mean", color = "red", size = 4)
最好使用第二种形式,因为它能让你展示的概述——而不是原始数据——变得更清晰