从ggplot2的qplot()开始,qplot()的用法与plot()有一定的相似之处,所以如果熟悉plot(),那么学习起来qplot()也不会太难。
数据集使用diamonds,首先用summary()查看一下数据集的基本特性吧!
数据说明:
然后创建一个含有100条记录的diamonds的子集dsmall:
set.seeds(1410)
dsmall<-diamonds[sample(nrow(diamonds),100),]
set.seeds()应该是给下面的随机取样过程设定的某个条件,具体原理我也不是很清楚,还请多多指教。
sample()用来在所有的diamonds记录中随机抽取100个作为dsmall
最为基本的用法:
qplot()的前两个参数分别是x与y,给出坐标点的横纵坐标,data参数可选。
qplot(carat,price,data=diamonds)
qplot(log(carat),log(price),data=diamonds)
看吧,显著的线性关系来了是不是呢!当然了,qplot()还可以接受不同变量的组合作为参数,如果我们想研究钻石的体积与重量之间的关系(体积约等于x*y*z),那么:
qplot(carat,x*y*z,data=diamonds)
从上图中我们基本可以推断出钻石的密度是一个基本恒定值,因为体积与质量的比值是大体不变的。
对坐标点颜色,大小,形状以及其他外观参数的设定
在使用qplot()与plot()时最大的不同之一就是对于点的颜色,大小,形状等性质的设定。如果使用plot()函数,你需要自己去将类型变量转换成plot()函数可以识别的控制外观的参数,但是在qplot()中,这一过程可以自动完成:
qplot(carat,price,data=dsmall,color=color
qplot(carat,price,data=dsmall,shape=cut)
对于像diamonds这样较大的数据及而言,设置点的透明度可以有效地减少坐标点重合的问题。alpha参数可以设置为0(完全透明)到1(完全不透明)中的任意值。很多时候,alpha的值可以用分数来表示。
qplot(carat,price,data=diamonds,alpha=I(1/10))
qplot(carat,price,data=diamonds,alpha=I(1/100))
qplot(carat,price,data=diamonds,alpha=I(1/200))
不同的外观参数适用于不同的数据类型。对于分类数据的区分最好用颜色与形状参数,而连续数据最好用大小表示,同时,数据集的大小也是一项重要的考虑因素。