# 3.5.1 多个分组与单一图形属性
# 细面图:在含有多个个体的纵向数据处理中,主要任务目标是区分每个个体
ggplot(Oxboys,aes(age,height,group=Subject))+
geom_point()+
geom_line()
ggplot(Oxboys,aes(age,height))+
geom_point()+
geom_line()
- 分组变量由多个变量定义而非单一变量,则用interaction合并各个分组变量
3.5.3 修改默认分组
# 绘制各个测量时期(occasion)和身高(height)的箱线图
ggplot(Oxboys,aes(Occasion,height))+
geom_boxplot()
# 尝试一
ggplot(Oxboys,aes(Occasion,height))+
geom_boxplot()+
geom_line()
直接添加geom_line()无效果
# 尝试二
ggplot(Oxboys,aes(Occasion,height))+
geom_boxplot()+
geom_line(aes(group=Subject),colour="#3366FF",alpha=0.5)
改变分组,成功
3.5.4 匹配图形属性与图形对象
df <- data.frame(x=1:3,y=1:3,colour=c(1,3,5))
ggplot(df,aes(x,y,colour=factor(colour)))+
geom_point(size=5)+
geom_line(aes(group=1),size=2)
若不将colour因子化
ggplot(df,aes(x,y,colour=colour))+
geom_point(size=5)+
geom_line(aes(group=1),size=2)
- 实现颜色渐变
xgrid <- with(df,seq(min(x),max(x),length=50))
interp <- data.frame(x=xgrid,
y=approx(df$x,df$y,xout=xgrid)$y,
colour=approx(df$x,df$colour,xout=xgrid)$y)
ggplot(interp,aes(x,y,colour=colour))+
geom_line(size=2)+
geom_point(data = df,size=5)
- fill只能将同一图形属性赋予一个整体
ggplot(mpg,aes(class))+
geom_bar()
ggplot(mpg,aes(class,fill=drv))+
geom_bar()
根据一个分类变量赋予fill,画出堆砌条形图
ggplot(mpg,aes(class,fill=hwy))+
geom_bar()
这一操作对连续型变量不适用
ggplot(mpg,aes(class,fill=hwy,group=hwy))+
geom_bar()
对于连续性变量一定要使用这种操作需要增加group