此文内容首发于微信公众号:R语言搬运工,关注公众号浏览更多精彩内容
折线图用来表示数据的波动趋势,可以是非连续的x轴上y值的高低,也可以是连续性x轴上y值的变化趋势。#
▉ 非连续型的X轴
首先整理数据
df <- data.frame(season=c("Spring", "Summer", "Autumn","Winter"),
temp=c(22.5, 28.2, 23.1,9.3))
df2 <- data.frame(year=rep(c("2020", "2021"), each=4),
season=rep(c("Spring", "Summer", "Autumn","Winter"),2),
temp=c(22.5, 28.2, 23.1,9.3,23.1,27.5,21.2,6.7))
上面的数据是小编自己设置的,代表了2020年和2021年春夏秋冬四个季度的参数(具体什么参数没有意义,只是用来绘图用的)
然后绘制线图
ggplot(df,aes(x=season,y=temp,group=1))+
geom_line()
看起来不是特别的美观
没关系
开始修图
首先添加点图进去:
然后修改线的类型及颜色
tip:这里既然提到了线的类型,把名字和线形贴一下:
▉ 添加分组变量的折线图
绘制折线图时添加分组变量得到多重折线图,以示例数据展示
p1 <- ggplot(df0,aes(x,y,shape=class),group=1)+
geom_line()+
geom_point(size=4)
p2 <- ggplot(df0,aes(x,y,fill=class),group=1)+
geom_line()+
geom_point(size=4,shape=21)
p3 <- ggplot(df0,aes(x,y,fill=class,linetype=class),group=1)+
geom_line()+
geom_point(size=4,shape=21)
由左至右分别为p1,p2,p3
图中有个细节一般不会引起注意,p3图的图例和p2与p1有不同之处,由于在绘制图p3的时候,颜色和线性都映射了变量class,因此在添加图例的时候两者同时出现。这里顺便提一下,很多学习者在绘图的时候两个映射会在图例中分开显示,这主要是因为代码中没有对两个映射设置相同的参数,包括水平和名称,这一点以后再单独细讲。
除了将颜色和线性映射给分类变量外,开可以将折线图的线宽映射给连续型变量:
▉ 两折线图间填充颜色
当绘制了两条折线图时,可以尝试在两者之间填充一定的颜色,这样会使得图像更加的美化,如下图
代码如下:
huron <- data.frame(year = 1875:1972, level = as.vector(LakeHuron))
h <- ggplot(huron, aes(year))
h+geom_ribbon(aes(ymin = level - 1, ymax = level + 1), fill = "skyblue") +
geom_line(aes(y=level - 1),color="red")+
geom_line(aes(y= level + 1),color="blue")
写在文末:
文章首发于公众号:R语言搬运工
关注带来更多精彩
原文链接