for (i in start:end){ year<-as.character(i) filename<-paste0("USGS",year,"_",lon[1],"_",lon[2],"_",lat[1],"_",lat[2],".csv") eq<-read.csv(filename) eqdata <- subset(eq, select=c(time,latitude,longitude,depth,mag,nst,gap,dmin,rms)) sortlist <- order(eqdata$mag) eqdata<- eqdata[sortlist,] for (i in 1:nrow(eqdata)){ if (eqdata$depth[i]<=20) { eqdata$col[i] <- rgb(1,0,0,alpha=0.4) } else if ((eqdata$depth[i]>20) && (eqdata$depth[i]<=50)) { eqdata$col[i] <- rgb(0,1,0,alpha=0.4) } else if ((eqdata$depth[i]>50) && (eqdata$depth[i]<=300)) { eqdata$col[i] <- rgb(0,0,1, alpha=0.4) } else if (eqdata$depth[i]>300) { eqdata$col[i] <- rgb(1,0,1, alpha=0.4) } } png(paste0("USGS",year,"_",lon[1],"_",lon[2],"_",lat[1],"_",lat[2],".png"),width=1000,height=800) par(mar=c(5, 4, 4, 3), xpd=TRUE) plot(papoue, image = TRUE, land = TRUE,axes=F,xlab="",ylab="", lwd = 0.1, bpal = list(c(0, max(papoue), land),c(-8000,0,oce))) plot(papoue, deep = 0, shallow = 0, step = 0,lwd = 0.4, add = TRUE) magsize<-(eqdata$mag-3) points(eqdata$longitude,eqdata$latitude,pch=21,cex =magsize, col="black",bg=eqdata$col) cexsize<-(c(4,5,6,7,8,9)-3) legend(x=lon[2]+1,y=(lat[1]+lat[2])/2+12,title="Magnitude",legend = c("4","5","6","7","8","9"), cex=1,pch=21,col="black",pt.bg=rgb(1,0,0,alpha=0.6),pt.cex =cexsize,bg ="gray", x.intersp = 2, y.intersp = 2.5) legend(x=lon[2]+1,y=(lat[1]+lat[2])/2-5,title="Depth",legend = c(" 0~20 km","20~50 km","50~300km","300km~"), cex=1,pch=21,col="black",pt.bg=c(rgb(1,0,0,alpha=0.6),rgb(0,1,0,alpha=0.6),rgb(0,0,1,alpha=0.6),rgb(1,0,1,alpha=0.6)), pt.cex =3.2,bg ="gray", x.intersp = 1.5, y.intersp = 2) title(paste("Earthquakes (",year,")"),cex.main=2) segments(lon[1], lat[1], lon[1], lat[2],lwd=2) segments(lon[1], lat[1], lon[2], lat[1],lwd=2) for (i in 1:(floor((lat[2]-lat[1])/10)+1)){ segments(lon[1], 10*(ceiling(lat[1]/10)+(i-1)), lon[1]-0.5, 10*(ceiling(lat[1]/10)+(i-1)),lwd=0.5) text(lon[1]-1.5, 10*(ceiling(lat[1]/10)+(i-1)),as.character(10*(ceiling(lat[1]/10)+(i-1)))) } for (i in 1:(floor((lon[2]-lon[1])/10)+1)){ segments(10*(ceiling(lon[1]/10)+(i-1)),lat[1]-0.5, 10*(ceiling(lon[1]/10)+(i-1)),lat[1],lwd=0.5) text(10*(ceiling(lon[1]/10)+(i-1)),lat[1]-1.2, as.character(10*(ceiling(lon[1]/10)+(i-1)))) } text((lon[1]+lon[2])/2,lat[1]-2.2,"Longitude") text(lon[1]-2.7,(lat[1]+lat[2])/2,"Latitude",srt=90) dev.off() }
|