ggplot学习文档
安装 ggplot
install.packages('ggplot2') library(ggplot2)
快速作图
set.seed(1410) #让样本可重复 dsmall = diamonds[sample(nrow(diamonds),100),] #使用一个小型数据集
体积和重量的关系-线性关系
# log(carat)对log(price)的图形 qplot(log(carat),log(price),data=diamonds)
# 如果我们对钻石的体积和重量感兴趣 qplot(carat,x*y*z,data=diamonds)
在重量和价格的散点图添加颜色
qplot(carat,price,data=dsmall,colour=color)
在重量和价格的散点图添加切工信息
qplot(carat,price,data=dsmall,shape=cut) #形状切工
创建半透明的颜色使用alpha图形属性,其值从0(完全透明)到1(完全不透明)
qplot(carat,price,data=diamonds,alpha=I(1/10)) qplot(carat,price,data=diamonds,alpha=I(1/100))
向图形中添加平滑曲线
二维的变量关系
# geom = "point"可以绘制散点图,这是当指定了x和y 参数给qplot的默认设置 # geom = "smooth"将拟合一条平滑曲线,并将曲线和标准误差展现在图中。 # geom = "boxplot"可以绘制箱线图 # geom = "path"和geom="line"可以在数据点之间绘制连线,这类图传统的作用是探索时间和其他变量之间的关系。
一维的变量关系
# 对于连续变量,geom = "histogram"绘制直方图,geom="freqploy"绘制频率多边形,geom="density"绘制密度曲线。
# 对于离散变量,geom="bar"用来绘制条形图。
平滑曲线和点
【注】:灰色区域表示逐点的置信区间。
利用method参数可以选择许多不同的平滑器
method = "loess",当n较小时是默认选项,使用的是局部回归的方法。曲线的平滑程度是由span参数控制的,范围从0(很不平滑)到1(很平滑)。
qplot(carat,price,data=dsmall,geom=c("point","smooth"),span=0.2)
qplot(carat,price,data=dsmall,geom=c("point","smooth"),span=1)
箱线图和扰动点图
如果数据集中包含了一个分类变量和一个或多个连续变量,连续变量会如何随着分类变量水平的变化而变化呢?箱线图和扰动点图提供了各自的方法达到这个目的。
qplot(color,price/carat,data=diamonds,geom="jitter",alpha=I(1/5)) qplot(color,price/carat,data=diamonds,geom="jitter",alpha=I(1/50))
上面扰动点图的重叠问题可以用半透明颜色来解决。
qplot(color,price/carat,data=diamonds,geom="boxplot")
【注】:箱线图显示了分布的中位数和四分位数都没有太大的变化。