library(ggplot2)
library(dplyr)
library(gridExtra)
library(grid)
library(forecast)
library(knitr)
library(Amelia)
library(RColorBrewer)
library(ggfortify)
library(lubridate)
a=c('Madagascar','Bamako','Cairo','Bangkok','Rome','Xiamen','Argentina','Iraq','London','Peking','New York','Lanzhou','Novosibirsk','Greenland','Anchorage','Xining')
for(i in a){
place=i
file<-paste(place,'.csv',sep = "")
print(file)
df<-read.csv(file,sep=',')
head(df %>% filter(nchar(as.character(dt))<6),3)
checkDATE<-function(x){
val<-as.character(x)
if(nchar(val)<=4) {return(0)}
else{return(1)}
}
df$validDate<-sapply(df$dt,checkDATE)
getDATE<-function(x,pos1,pos2){
val<-substr(strsplit(as.character(x),"--")[[1]][1],pos1,pos2)
return(as.numeric(val))
}
df$year<-sapply(df$dt,getDATE,1,4)
df$month<-sapply(df$dt,getDATE,6,7)
mymonths <- c("January","February","March","April","May","June","July","August","September","October","November","December")
df$MonthAbb <- mymonths[ df$month ]
df$ordered_month <- factor(df$MonthAbb, levels = month.name)
title<-paste("Temperature (monthly average) in ",place,sep = "")
print(title)
ggplot(data=df, aes(x=year,y=ordered_month)) +
geom_tile(aes(fill = AverageTemperature),colour = "white") +
scale_fill_gradientn(colours=rev(brewer.pal(10,'Spectral'))) +
theme(legend.title=element_blank(),axis.title.y=element_blank(),axis.title.x=element_blank(),legend.position="top") + ggtitle(title)
pic<-paste(place,'.png',sep = "")
ggsave(file = pic)
}
部分结果展示