欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

可视化学习笔记(2):ggplot2:折线图

最编程 2024-04-23 15:28:50
...

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 基本样式

线条样式可以分别由linetypesizecolour来设定

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()