User Tools

Site Tools


other:python:maps_by_jyp

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
other:python:maps_by_jyp [2019/09/12 15:56]
jypeter Started adding the megabiomes example
other:python:maps_by_jyp [2019/09/18 13:40]
jypeter [Megabiome maps]
Line 16: Line 16:
   * Optionally reduce the number of PFTs before plotting   * Optionally reduce the number of PFTs before plotting
   * Use ''​matplotlib''​+''​cartopy''​ to create the plot   * Use ''​matplotlib''​+''​cartopy''​ to create the plot
-    * Create two plots with a common colorbar +    * Create two plots with a //​PlateCarree//​ projection and a common colorbar 
-    * Use a listed colormap (and the associated norm), and pcolormesh to plot the discrete PFT values+    * Use an //A4 portrait// (''​figsize=(8.3,​ 11.7)''​) figure size and ''​subplots_adjust''​ in order to improve the page layout 
 +    * Use a //listed colormap// (and the associated ​//norm//), and ''​pcolormesh'' ​to plot the discrete PFT values 
 +    * Use a trick to make sure that the black plot border is correctly plotted above everything (''​top_plot.outline_patch.set_zorder(50)''​)
  
 ===== Megabiome maps ===== ===== Megabiome maps =====
  
   * Summary: Plot two megabiome maps based on 2 versions of the IPSL model (CM5 and CM6), and compare them to a map with observations   * Summary: Plot two megabiome maps based on 2 versions of the IPSL model (CM5 and CM6), and compare them to a map with observations
-  * Authors: Raj Rani-Singh ​& Jean-Yves Peterschmitt+  * Authors: Raj Rani & Jean-Yves Peterschmitt
   * Date: September 2019   * Date: September 2019
   * Script: ''​~jypeter/​CDAT/​Progs/​Devel/​pasb/​PMIP4/​Press_Conference_1909/​mh_CM6_CM5_megabiome.py   * Script: ''​~jypeter/​CDAT/​Progs/​Devel/​pasb/​PMIP4/​Press_Conference_1909/​mh_CM6_CM5_megabiome.py
 ''​ ''​
  
- +{{:​other:​python:​mh_cm6_cm5_megabiome.png?​direct&​300 |}} 
-  * Load the NetCDF model data with ''​cdms2'',​ and the xlsx observations'​ data with ''​pandas''​+  * Load the NetCDF model data with ''​cdms2'',​ and the csv observations'​ data with ''​pandas''​ 
 +  * Use ''​matplotlib''​+''​cartopy''​ to create the plot 
 +    * Create three plots on a 2x2 layout with an //​Orthographic//​ projection (centered on Europe) and a common colorbar. Explicitly make the 4th plot //​invisible//​ in order to make space for plotting the colorbar (''​colorbar_plot.background_patch.set_visible(False)''​ and ''​colorbar_plot.outline_patch.set_visible(False)''​) 
 +    * Use a square (''​figsize=(8,​ 8)''​) figure size in order to improve the page layout 
 +    * Use the same color scale for both the model data (plotted with ''​pcolormesh''​) and the observation data (plotted with ''​scatter''​) 
 +    * Use a //​dictionary trick// for easily using the same gridlines parameters for all the maps 
 +    * Use a common //listed colormap// to plot the discrete megabiome values (with a //norm// associated with the megabiome values) and the observations (with a **different //norm//** associated with the observations) 
 +    * The three plots have the same colormap, but we create a standalone colormap (created with ''​mpl.colorbar.ColorbarBase''​) in the Bottom Left quadrant. We use ''​UR_plot.get_position().bounds''​ to determine the exact location of the Upper Right and Lower Left plots, and combine the coordinates to create the axis (with ''​my_page.add_axes''​) where the colorbar will be plotted
  
 /* standard page footer */ /* standard page footer */
other/python/maps_by_jyp.txt · Last modified: 2021/08/03 12:01 by jypeter