在(一)中展示了基于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, 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,点击回车即可,见下图
p13的结果如下
image.png
p12的结果如下:
image.png
p13中增加了线条而p12中没有增加线条,根据需要自己取舍。建议设置好后通过R运行一遍,在R中将结果保存为pdf,然后通过ps调整分辨率即可。
需要数据来进行操作的读者,可以发邮件到yinlichang3064@163.com,看到后会尽快发过去
网友评论