绘制热力图

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)
}

部分结果展示

绘制热力图