1、简单折线图
- 折线图的x既可以对应离散性变量,也可以对应连续型变量
- 当x对应因子变量时,必须使用group=1映射确保数据点属于一个分组;否则可能会报错
BOD1 <- BOD
BOD1$Time <- factor(BOD1$Time)
ggplot(BOD1, aes(x=Time, y=demand, group=1)) + geom_line()
2、多重折线图(分组折线图)
在指定x和y映射参数的同时,将另一个离散型变量映射给colour
参数或linetype
参数即可
与堆积条形图不同的是,这里没有使用填充
fill
而是使用colour
或者linetype
library(plyr) #使用ddplyr函数
library(gridExtra) #将图形整合
tg <- ddply(ToothGrowth,c("supp","dose"),summarize,
length=mean(len)) #对数据集汇总
p1 <- ggplot(tg, aes(x=dose, y=length, colour=supp)) +
geom_line();p1
p2 <- ggplot(tg, aes(x=dose, y=length, linetype=supp)) +
geom_line();p2
grid.arrange(p1, p2, ncol=2)
当将x作为分类变量处理时,将x转化为因子后,还要对group进行映射,否则会报错
group的映射与填色的映射变量指定是一样的
如果分组不正确还会出现错误的折线图
有时数据标记(shape)会重叠,需要使用
position=position_dodge(#)
选项来将其偏离
3、样式修改
3.1 基本样式
线条样式可以分别由linetype
、size
、colour
来设定
geom_line(...., linetype=" ", size=#, colour=" ")
3.2手动修改填色
与bar chart的手动修改填色函数类似,使用以下函数可以手动设定颜色:
scale_colour_brewer()
scale_colour_manual()
4、绘制面积图
geom_area()
4.1堆积面积图
使用fill
参数对面积图geom_area()
进行映射填充即可
- 需要注意的是堆积面积图的基础数据为宽格式,而ggplot2则要求长格式
- 可能需要注意图例反转问题
4.2堆积百分比面积图
步骤类似于堆积百分比条形图,最主要的一步是将要展示的数据转换成百分比形式
5、置信区间
使用geom_ribbon()
函数,然后分别映射一个变量给ymin与ymax
- 需要注意的是,先绘制置信区间再绘制折线图可以使得折线图覆盖在上面
- 如果模糊不清可以通过设定透明度来调整
- 对于上下置信区间,可以使用linetype来指定绘制区间线条的样式
5.1 使用线条来绘制置信区间
可以分别使用geom_line()
来分别对置信区间的上界和下界进行映射,即可绘制出没有填充的置信区间线条
ggplot(climate, aes(x=Year, y=Anomaly10y)) +
geom_line(aes(y=Anomaly10y-Unc10y), colour="grey50", linetype="dotted") +
geom_line(aes(y=Anomaly10y+Unc10y), colour="grey50", linetype="dotted") +
geom_line()