R绘图 第六篇:绘制线图(ggplot2)

线图是由折线构成的图形,线图是把散点从左向右用直线连接起来而构成的图形,在以时间序列为x轴的线图中,可以看到数据增长的趋势。

geom_line(mapping = NULL, data = NULL, stat = "identity",
  position = "identity", na.rm = FALSE, show.legend = NA,
  inherit.aes = TRUE, ...)

 线图中的常用参数:

  • group:线的分组
  • alpha:线的透明度
  • color:线的颜色
  • size:线的粗细
  • linetype:线的类型,R中可用的类型如下图所示:

使用以下数据绘制线图:

df <- data.frame(sex = rep(c("Female", "Male"), each=3),
                  time=c("breakfeast", "Lunch", "Dinner"),
                  bill=c(10, 30, 15, 13, 40, 17) )

一,绘制线图

使用ggplot2包绘制线图,可以添加点的图层,以显示线的两个端点。

ggplot(data=df,mapping=aes(x=time,y=bill,group=sex))+
  geom_line()+
  geom_point()

二,修改线图的线形,颜色和大小

ggplot(data=df, mapping=aes(x=time, y=bill, group=sex)) +
  geom_line(linetype="dotted", color="red", size=2)+
  geom_point(color="blue", size=3)

三,对不同的线图使用不同的颜色

使用aes(group=)对线图分组,使用aes(color=)使不同的分组呈现同的颜色,使用aes(linetype=)使不同分组的线图呈现不同的线形,

ggplot(data=df, mapping=aes(x=time, y=bill, group=sex)) +
  geom_line(aes(linetype=sex,color=sex))+
  geom_point(aes(color=sex))+
  theme(legend.position="top")

四,自定义各个分组的线形、颜色和大小

使用以下三个函数来控制线图中的各个分组的线形、颜色和大小:

  • scale_linetype_manual() :控制线形
  • scale_color_manual() :控制线的颜色
  • scale_size_manual() :控制线的粗细

例如,以下代码用于对数据按照sex进行分组,并为每个分组的线设置color和size:

ggplot(df, aes(x=time, y=bill, group=sex)) +
  geom_line(aes(linetype=sex, color=sex, size=sex))+
  geom_point()+
  scale_linetype_manual(values=c("twodash", "dotted"))+
  scale_color_manual(values=c('#999999','#E69F00'))+
  scale_size_manual(values=c(1, 1.5))+
  theme(legend.position="top")

 

参考文档:

Connect observations

posted @ 2018-08-04 09:49  悦光阴  阅读(43046)  评论(0编辑  收藏  举报