《ggplot2:数据分析与图形艺术》
第2章 从qplot开始入门
总结
:扰动点图geom=“jitter”,箱线图geom=“boxplot”,扰动点图特点,在数据量多时可以看数据整体变化趋势,箱线图则能够看中位数及四分位数的明显变化。扰动点太多可以通过调节透明度(alpha=I(1/50)数字越小透明度越高)观察重叠点点分布状态。直方图(geom=“histogram”)可通过binwidth参数调节组距,该值越大组距越大,数据越分隔不明显;值越小组距越小,分割越明显;密度图(geom=“density”)可通过adjust调节曲线平滑度,值越大,曲线越平滑;值越小曲线平滑度降低,分割明显。条形图geom=“bar”,计算每个水平下观测到数量,可通过weight参数进行加权统计,可绘制存在权重值为0的条形图。线条图geom="line"和路径图geom="path"适合分组情况下观测时间序列状态。分面时数据分组绘图的一种形式,可通过facets=color~.参数的形式,将color组作为分面的标准(建议只以一组离散型随机变量作为分面的标准)。xlim,ylim设置x轴和y轴的显示区间;log对坐标值取对数;main图形的主标题;xlab、ylab设置x轴和y轴的标签文字。
2.5 几何对象
2.5.2 箱线图和扰动点图
如果一个数据集中包含了一个分类变量和一个或多个连续变量,那么可以表示连续变量会如何随着分类变量水平的变化而变化。所以箱线图和扰动点图提供了各自的方法来达到这个目的。
> library(ggplot2)
> qplot(color, price/carat, data=diamonds, geom="jitter", color=I("blue"))
该图形考察以颜色(分类变量)为条件的每克拉价格(连续变量price/carat)的分布。
该箱线图使用color这个离散变量作为默认数据分组的依据,之后根据price/carat的值来绘制不同组别的箱线图。
> qplot(color, price/carat, data=diamonds, geom="boxplot")
但从箱线图的结果来看,每克拉价格的跨度逐渐减小,但分布的中位数没有明显的变化。
但如果用dsmall数据的话,由于数据量太小则无法明确表示显著性的结果。
扰动点图中的图形重叠问题可以通过半透明颜色来部分解决,使用alpha参数。
> qplot(color, price/carat, data=diamonds, geom="jitter", color=I("blue"), alpha=I(1/100))
随着透明度的升高,我们可以看出数据集中的地方。
扰动点图不能像箱线图那样显示出四分位数的位置,但它体现了箱线图所不能展示的其他一些分布特征。
对于扰动点图来说,qplot可以提供像一般的散点图那样对其他图形属性的控制,如size,color和shape。
对于箱线图,可以用color控制框线颜色,fill设置填充颜色,用size调节线的粗细。箱线图,x轴是离散变量,y轴是连续变量,绘图的结果是以x轴作为分组进行绘图。
> qplot(color, price/carat, data=diamonds, geom="boxplot", fill=color)
#箱线图内部填充了颜色
> qplot(color, price/carat, data=diamonds, geom="boxplot", color=color, size=I(1.5))
#箱线图改变了框线的颜色以及线条的粗细。
另外一种考察条件分布的方法是用分面来作出分类变量的每一个水平下连续变量的直方图或密度曲线。