qplot(quick plot)可以快速的创建复杂的图形,与plot非常像,学起来也容易得多。
qplot前两个参数是x,y,代表所画对象的x轴坐标与y轴坐标。以ggplot2自带数据集diamonds为例。
library(ggplot2)
qplot(carat,price,data = diamonds) #画钻石质量与价格的关系图
qplot(log(carat),log(price),data = diamonds) #对数据log后的图
下面选取diamonds数据集任意十行数据作为例子
dsmall<-diamonds[sample(nrow(diamonds),10),]
qplot(carat,price,data = dsmall,colour=color)
qplot(carat,price,data = dsmall,shape=cut)
当然,也可以使用I()直接定义图形属性。
qplot(carat,price,data = diamonds,alpha=I(0.3),colour=I('blue'))
上面画的是散点图,我们可以通过设置几何对象(geom)画出任意类型的图。
geom = 'point' 画散点图;geom = 'boxplot' 画盒形图;geom = 'smooth' 拟合一条曲线;geom = 'line' 画出连线的图;geom = 'histogram' 直方图;geom = 'bar' 条形图;geom = 'density' 密度图。
qplot(carat,price,data = dsmall,geom = c('point','smooth')) #span参数可以控制平滑程度,有兴趣自己试试
qplot(color,price,data = diamonds ,geom = 'boxplot') #盒形图
qplot(color,price,data = diamonds ,geom = 'jitter') #扰动点图
qplot(carat,data = diamonds ,geom = 'histogram',binwidth=.1)#直方图
分面:qplot分面是将数据集分为几个子集,然后将子集绘制到窗格上。可以通过row_var~ col_var来指定窗格。如果只想建几行或几列可以通过'.'进行替代。例如,row_var~ .会创建一列多行的窗格。
qplot(carat,data = diamonds ,geom = 'histogram',binwidth=.1,facets = color~.,xlim = c(0,3))