0
數據:如何繪製ggplot2中預定義的上限和下限之間的區域?
代碼:
Morocco_ObservedClim <- read.csv(file = "Morocco_ObservedClim.csv", header=TRUE, sep=",", na.string="NA", dec=".", strip.white=TRUE)
Morocco_ProjectedClim <- read.csv(file = "Morocco_ProjectedClim.csv", header=TRUE, sep=",", na.string="NA", dec=".", strip.white=TRUE)
# Select the data
obs_annualanom.df <- subset(Morocco_ObservedClim, DataSource %in% c("avg") & DataFormat %in% c("anom") & Timeframe %in% c("annual"))
obs_annualanom.df <- obs_annualanom.df[1:41,]
proj_annualanom.df <- subset(Morocco_ProjectedClim, gcm %in% c("avg","min","max") & DataFormat %in% c("anom") & Timeframe %in% c("annual"))
# Melting the data
obs_annualanom.df <- melt(obs_annualanom.df, id.vars=c("Year","DataSource","DataFormat","Timeframe"))
proj_annualanom.df <- melt(proj_annualanom.df, id.vars=c("Year","sres","gcm","DataFormat","Timeframe"))
# Plots
precip <- ggplot(data=obs_annualanom.df) + geom_line(aes(Year,value),subset=.(variable %in% c("Precip")),size=1.1)
precip <- precip + geom_line(data=proj_annualanom.df, aes(Year,value),colour="brown",size=1.1,subset=.(variable %in% c("Precip") & gcm %in% c("avg") & sres %in% c("20thC")))
precip <- precip + geom_area(data=proj_annualanom.df, aes(Year,value),fill="tan1",alpha=0.5,subset=.(variable %in% c("Precip") & gcm %in% c("max") & sres %in% c("20thC")))
precip <- precip + geom_area(data=proj_annualanom.df, aes(Year,value),fill="tan1",alpha=0.5,subset=.(variable %in% c("Precip") & gcm %in% c("min") & sres %in% c("20thC")))
precip <- precip + geom_line(data=proj_annualanom.df, aes(Year,value),colour="red",size=1.1,subset=.(variable %in% c("Precip") & gcm %in% c("avg") & sres %in% c("A2")))
precip <- precip + geom_area(data=proj_annualanom.df, aes(Year,value),fill="red3",alpha=0.3,subset=.(variable %in% c("Precip") & gcm %in% c("max") & sres %in% c("A2")))
precip <- precip + geom_area(data=proj_annualanom.df, aes(Year,value),fill="red3",alpha=0.3,subset=.(variable %in% c("Precip") & gcm %in% c("min") & sres %in% c("A2")))
precip <- precip + geom_line(data=proj_annualanom.df, aes(Year,value),colour="blue",size=1.1,subset=.(variable %in% c("Precip") & gcm %in% c("avg") & sres %in% c("A1B")))
precip <- precip + geom_area(data=proj_annualanom.df, aes(Year,value),fill="royalblue3",alpha=0.3,subset=.(variable %in% c("Precip") & gcm %in% c("max") & sres %in% c("A1B")))
precip <- precip + geom_area(data=proj_annualanom.df, aes(Year,value),fill="royalblue3",alpha=0.3,subset=.(variable %in% c("Precip") & gcm %in% c("min") & sres %in% c("A1B")))
precip <- precip + geom_line(data=proj_annualanom.df, aes(Year,value),colour="green4",size=1.1,subset=.(variable %in% c("Precip") & gcm %in% c("avg") & sres %in% c("B1")))
precip <- precip + geom_area(data=proj_annualanom.df, aes(Year,value),fill="palegreen3",alpha=0.3,subset=.(variable %in% c("Precip") & gcm %in% c("max") & sres %in% c("B1")))
precip <- precip + geom_area(data=proj_annualanom.df, aes(Year,value),fill="palegreen3",alpha=0.3,subset=.(variable %in% c("Precip") & gcm %in% c("min") & sres %in% c("B1")))
precip <- precip + labs(title="Precipitation",y="Anomalies (mm/year)", x="") + theme_bw()
#precip <- precip + scale_x_discrete(breaks=seq(by=20)) #+ scale_y_continuous(breaks = seq(-50, 80, by=25))
precip <- precip + theme(plot.title=element_text(face="bold", size=rel(2), hjust=0.5, vjust=1.5),
axis.text.x=element_text(color="black", size=rel(2.5), hjust=0.5, vjust=0.5),
axis.text.y=element_text(color="black", size=rel(2.5), hjust=1),
axis.title=element_text(face="bold", color="black", size=rel(1.7), hjust=0.5, vjust=0.2))
temp <- ggplot(data=obs_annualanom.df) + geom_line(aes(Year,value),subset=.(variable %in% c("Temp")),size=1.1)
temp <- temp + geom_line(data=proj_annualanom.df, aes(Year,value),colour="brown",size=1.1,subset=.(variable %in% c("Temp") & gcm %in% c("avg") & sres %in% c("20thC")))
temp <- temp + geom_area(data=proj_annualanom.df, aes(Year,value),fill="tan1",alpha=0.5,subset=.(variable %in% c("Temp") & gcm %in% c("max") & sres %in% c("20thC")))
temp <- temp + geom_area(data=proj_annualanom.df, aes(Year,value),fill="tan1",alpha=0.5,subset=.(variable %in% c("Temp") & gcm %in% c("min") & sres %in% c("20thC")))
temp <- temp + geom_line(data=proj_annualanom.df, aes(Year,value),colour="red",size=1.1,subset=.(variable %in% c("Temp") & gcm %in% c("avg") & sres %in% c("A2")))
temp <- temp + geom_area(data=proj_annualanom.df, aes(Year,value),fill="red3",alpha=0.3,subset=.(variable %in% c("Temp") & gcm %in% c("max") & sres %in% c("A2")))
temp <- temp + geom_area(data=proj_annualanom.df, aes(Year,value),fill="red3",alpha=0.3,subset=.(variable %in% c("Temp") & gcm %in% c("min") & sres %in% c("A2")))
temp <- temp + geom_line(data=proj_annualanom.df, aes(Year,value),colour="blue",size=1.1,subset=.(variable %in% c("Temp") & gcm %in% c("avg") & sres %in% c("A1B")))
temp <- temp + geom_area(data=proj_annualanom.df, aes(Year,value),fill="royalblue3",alpha=0.3,subset=.(variable %in% c("Temp") & gcm %in% c("max") & sres %in% c("A1B")))
temp <- temp + geom_area(data=proj_annualanom.df, aes(Year,value),fill="royalblue3",alpha=0.3,subset=.(variable %in% c("Temp") & gcm %in% c("min") & sres %in% c("A1B")))
temp <- temp + geom_line(data=proj_annualanom.df, aes(Year,value),colour="green4",size=1.1,subset=.(variable %in% c("Temp") & gcm %in% c("avg") & sres %in% c("B1")))
temp <- temp + geom_area(data=proj_annualanom.df, aes(Year,value),fill="palegreen3",alpha=0.3,subset=.(variable %in% c("Temp") & gcm %in% c("max") & sres %in% c("B1")))
temp <- temp + geom_area(data=proj_annualanom.df, aes(Year,value),fill="palegreen3",alpha=0.3,subset=.(variable %in% c("Temp") & gcm %in% c("min") & sres %in% c("B1")))
temp <- temp + labs(title="Temperature",y="Anomalies (degree C)", x="") + theme_bw()
#temp <- temp + scale_x_discrete(breaks=seq(by=20)) #+ scale_y_continuous(breaks = seq(-50, 80, by=25))
temp <- temp + theme(plot.title=element_text(face="bold", size=rel(2), hjust=0.5, vjust=1.5),
axis.text.x=element_text(color="black", size=rel(2.5), hjust=0.5, vjust=0.5),
axis.text.y=element_text(color="black", size=rel(2.5), hjust=1),
axis.title=element_text(face="bold", color="black", size=rel(1.7), hjust=0.5, vjust=0.2))
我的結果:
我的目標:重現該曲線圖
圖形命名法:
實線表示平均值。
填充區域應該表示數據中可用的最大值和最小值。
我遇到的問題是我想要達到以下效果: 首先,根據我的結果圖繪製成功完成的平均值。 其次,能夠在數據中的最小值和最大值之間設置填充,這是我失敗的地方。
任何幫助,將不勝感激。
謝謝
打我吧。我將包含兩個數據集的使用,所以我的版本只用'ggplot()+ ...'開始,然後用「觀察」數據集開始一個'geom_line()',然後基本上你做了什麼。 – joran
@joran,隨時發佈您的版本;你多走了一英里,所以不妨。 – BrodieG
@joran,請張貼您的版本。 – iouraich