美文网首页R语言学习笔记与基本应用python处理数据与数据可视化
带置信区间的拟合线几种绘制方式-在python和R中的实现 (二

带置信区间的拟合线几种绘制方式-在python和R中的实现 (二

作者: 画长空_yin | 来源:发表于2018-10-06 20:23 被阅读76次

    在(一)中展示了基于python的带置信区间的拟合性,同时拟合多条直线,本文主要讲下在R中如何去实现。
    首先我们将数据集转变为长数据格式,长格式就是每种类型结束后接着接另一个变量的值,并在另一列中加上该值的类型,格式如下:


    image.png
    image.png
    library(ggplot2)
    setwd("D:/qixiang/final")
    data1<-read.csv("water.csv",header = TRUE)
    data1$type= factor(data1$type, levels=c('PPT','ET','FWS','RWCN','RWCC','IWCC'))   ## 设置柱条的顺
    p<-ggplot(data =data1,aes(x =year, y =value))+geom_point()+scale_x_continuous(breaks = c(1982, 2000,2015))
    p1<-p+geom_smooth(method='lm',color="black") 
    p2<-p1+facet_wrap(~ type,ncol=3,scales = "free") #按照变量进行分面,scales部分如果不填的话则每个变量的y轴范围是一致的
    
    
    p4<-p2+ylab("water component(mm)")+xlab("year") #设置y轴和x轴的名称
    p5<-p4+theme_bw()
    p7<-p5+theme(legend.text = element_text(colour="black", size = 12, face = "bold"))
    p8<-p7+theme(axis.text.x=element_text(face="bold",size=12,angle=0,color="Black"),
                 axis.text.y=element_text(face="bold",size=12,angle=0,color="Black"),
                 legend.title = element_text(face = "bold"))
    p9<-p8+theme(axis.title.y = element_text(size = 12, face="bold", color = "Black"))
    p11<-p9+theme(text=element_text(size=12,color="black",face="bold")) #针对分面的标题文本
    p12<-p11+labs(title="Songhua River Basin")
    p13<-p12+geom_line()
    

    读者在进行运用的时候,只需要更改下目录即将setwd("D:/qixiang/final")变为自己的数据存放路径,data1type= factor(data1type, levels=c('PPT','ET','FWS','RWCN','RWCC','IWCC')) 部分改为自己的变量顺序。p4<-p2+ylab("water component(mm)")+xlab("year") #设置y轴和x轴的名称中改成自己的y轴和x轴名称,p12<-p11+labs(title="Songhua River Basin")中改成自己的标题名称。在想得到图像时,在命令框中输入p12或p13,点击回车即可,见下图

    image.png
    p13的结果如下
    image.png
    p12的结果如下:
    image.png

    p13中增加了线条而p12中没有增加线条,根据需要自己取舍。建议设置好后通过R运行一遍,在R中将结果保存为pdf,然后通过ps调整分辨率即可。
    需要数据来进行操作的读者,可以发邮件到yinlichang3064@163.com,看到后会尽快发过去

    相关文章

      网友评论

        本文标题:带置信区间的拟合线几种绘制方式-在python和R中的实现 (二

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