美文网首页R语言知识干货
R语言数据可视化:多个数据汇总在一张图

R语言数据可视化:多个数据汇总在一张图

作者: 485b1aca799e | 来源:发表于2017-06-18 14:05 被阅读7935次
    1. 在R语言ggplot2包中,有的时候需要将不同的数据汇总在一张图上面,此时,应该有两种方法,我们考虑如下的数据框:
      时间 流失用户 新用户
    1月份     4531  15108
    2月份     4695   8290
    3月份     5695   9479
    4月份     6013   8690
    5月份     4919   9216
    6月份     6019  10336
    7月份     7100   8968
    8月份     7148   8783
    
    • 数据框保存在变量x0中

      1. 我们想在一张图上同时画 时间+流失用户 、 时间+新用户 的两张折线图,来分析用户的流失与新增的情况
        此时,有两种方法来搞定该图:

    利用ggplot的图层语法来搞定多重图层的叠加将多重数据放在同一个数据框中

    #使用代码:
    ggplot(x0)+geom_line(aes(x = 时间,y=流失用户,group=1),color="chartreuse3")+
    geom_line(aes(x=时间,y=新用户,group=1),color="red")+
    简单主题+
    labs(title="2016年广电网络广州用户流失分析")
    
    
    图片.png
    • 此处将两个映射分别放在了两个aes()中,数据框是同一个,另外需要注意group=1的使用,因为时间变量是一个因子变量,所以需要使用group=1来绘制折线图
    • 注意到此时图片中是没有对两根折线定义做出解释的,必须通过手动的添加标签来解释两根折线

    通过因子变量将color添加到映射中来画出两根折线图

    1. 此时,首先我们需要利用tidyr包(或者reshape2包将数据框变形,从宽的数据变成长的数据),使用代码:
    x0_0 <- gather(x0,key = 用户类型,value = 人数,流失用户,新用户)
    #得到数据:
    时间 用户类型  人数
    1月份 流失用户  4531
    2月份 流失用户  4695
    3月份 流失用户  5695
    4月份 流失用户  6013
    5月份 流失用户  4919
    6月份 流失用户  6019
    7月份 流失用户  7100
    8月份 流失用户  7148
    1月份   新用户 15108
    2月份   新用户  8290
    3月份   新用户  9479
    4月份   新用户  8690
    5月份   新用户  9216
    6月份   新用户 10336
    7月份   新用户  8968
    8月份   新用户  8783
     
    #对于该数据的第一列和第二列,我们应该将其转化为因子变量
     
    x0_0[,2] <- as.factor(x0_0[,2])
     
    ggplot(x0_0,aes(x=时间,y=人数,color=用户类型,group=用户类型))+geom_line()
    
    图片.png
    • 此时发现图中新用户是绿色折线,流失用户是红色折线,我们想更换一下折线的颜色,此时应该调整因子变量的因子水平

    2.再次绘图得到

    x0_0[,2] <- factor(x0_0[,2],levels = c("新用户","流失用户"))
     
    #再次作图
    ggplot(x0_0,aes(x=时间,y=人数,color=用户类型,group=用户类型))+
    geom_line()+
    简单主题+
    labs(title="2016年广电网络广州用户流失分析")
    
    

    3.最后得到图

    图片.png

    相关文章

      网友评论

        本文标题:R语言数据可视化:多个数据汇总在一张图

        本文链接:https://www.haomeiwen.com/subject/cciiqxtx.html