Advertisement
Guest User

example_code_plots

a guest
Jul 19th, 2017
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
R 4.05 KB | None | 0 0
  1. breaks_cuts<-function(l,breaks){
  2.       brks<-cut(l$value,breaks=breaks,include.lowest=TRUE)
  3.       return(brks)
  4. }
  5.  
  6.  
  7. gen_plot<-function(arr,brks,lons,lats,season,var){
  8.  
  9. longdata<-melt(arr)
  10. longdata$brks<-breaks_cuts(longdata,brks)
  11. longdata_n<-longdata[(longdata[,2]<=nh_bound_lower & longdata[,2]>=nh_bound_upper),]
  12. longdata_s<-longdata[(longdata[,2]<=sh_bound_lower & longdata[,2]>=sh_bound_upper),]
  13. lev_order<-levels(as.factor(longdata$brks))
  14.  
  15. contour_cols<-colorRampPalette(c("yellow","green","blue","purple","red"))(length(lev_order))
  16. print(lev_order)
  17. print(contour_cols)
  18.       m<-map_data("world2")
  19.       gplot<-ggplot()+
  20.         coord_cartesian(xlim=c(min(lons),max(lons)),
  21.                         ylim=c(min(lats),max(lats))) +
  22.         geom_map(data= m, map = m, aes(map_id=region)) +
  23.                 stat_contour(aes(x=lons[longdata_n[,1]],
  24.                          y=lats[longdata_n[,2]],
  25.                          z = longdata_n[,3]),breaks=brks)+
  26.                 stat_contour(aes(x=lons[longdata_s[,1]],
  27.                          y=lats[longdata_s[,2]],
  28.                          z = longdata_s[,3]),breaks=brks) +
  29.        
  30.                 geom_tile(data=longdata_n,aes(x=lons[longdata_n[,1]],
  31.                          y=lats[longdata_n[,2]],fill=brks),alpha=0.5) +
  32.                 geom_tile(data=longdata_s,aes(x=lons[longdata_s[,1]],
  33.                          y=lats[longdata_s[,2]],fill=brks),alpha=0.5) +
  34.         scale_fill_manual(breaks=lev_order,values=contour_cols) +
  35.  
  36.         geom_rect(aes(xmin = lons[which(lons==LEFT_BOUND[2])],
  37.                       xmax = lons[which(lons==RIGHT_BOUND[2])],
  38.                       ymin = lats[which(lats==MIN_LAT[2])],
  39.                       ymax = lats[which(lats==MAX_LAT[2])]),
  40.                fill = "transparent", color = "red", size = 1.5) +
  41.         geom_rect(aes(xmin = lons[which(lons==LEFT_BOUND[3])],
  42.                       xmax = lons[which(lons==RIGHT_BOUND[3])],
  43.                       ymin = lats[which(lats==MIN_LAT[3])],
  44.                       ymax = lats[which(lats==MAX_LAT[3])]),
  45.                fill = "transparent", color = "red", size = 1.5) +
  46.  
  47.                 geom_rect(aes(xmin = lons[which(lons==LEFT_BOUND[5])],
  48.                       xmax = lons[which(lons==RIGHT_BOUND[5])],
  49.                       ymin = lats[which(lats==MIN_LAT[5])],
  50.                       ymax = lats[which(lats==MAX_LAT[5])]),
  51.                fill = "transparent", color = "red", size = 1.5) +
  52.                         geom_rect(aes(xmin = lons[which(lons==LEFT_BOUND[6])],
  53.                       xmax = lons[which(lons==RIGHT_BOUND[6])],
  54.                       ymin = lats[which(lats==MIN_LAT[6])],
  55.                       ymax = lats[which(lats==MAX_LAT[6])]),
  56.                fill = "transparent", color = "red", size = 1.5) +
  57.  
  58.  
  59.               geom_rect(aes(xmin = lons[which(lons==LEFT_BOUND[1])],
  60.                       xmax = 360,
  61.                       ymin = lats[which(lats==MIN_LAT[1])],
  62.                       ymax = lats[which(lats==MAX_LAT[1])]),
  63.                fill = "transparent", color = "red", size = 1.5) +
  64.                       geom_rect(aes(xmin = 0,
  65.                       xmax = lons[which(lons==RIGHT_BOUND[1])],
  66.                       ymin = lats[which(lats==MIN_LAT[1])],
  67.                       ymax = lats[which(lats==MAX_LAT[1])]),
  68.                fill = "transparent", color = "red", size = 1.5) +
  69.                       geom_rect(aes(xmin = lons[which(lons==LEFT_BOUND[4])],
  70.                       xmax = 360,
  71.                       ymin = lats[which(lats==MIN_LAT[4])],
  72.                       ymax = lats[which(lats==MAX_LAT[4])]),
  73.                fill = "transparent", color = "red", size = 1.5) +
  74.                       geom_rect(aes(xmin = 0,
  75.                       xmax = lons[which(lons==RIGHT_BOUND[4])],
  76.                       ymin = lats[which(lats==MIN_LAT[4])],
  77.                       ymax = lats[which(lats==MAX_LAT[4])]),
  78.                fill = "transparent", color = "red", size = 1.5) +
  79.  
  80.  
  81.        ggtitle(sprintf("%s Threshold for %s",var,season)) +
  82.         labs(x="Longitude",y="Latitude")
  83. return(gplot)
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement