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
other:python:maps_by_jyp [2019/09/13 09:39]
jypeter
other:python:maps_by_jyp [2021/08/03 12:01] (current)
jypeter [JYP's map room] Added link to cartopy gallery
Line 1: Line 1:
 ====== JYP's map room ====== ====== JYP's map room ======
  
-You will find below a gallery of maps made with [[https://​scitools.org.uk/​cartopy/​|cartopy]].+You will find below a gallery of maps made with [[other:​python:​matplotlib_by_jyp|matplotlib]] and [[https://​scitools.org.uk/​cartopy/​|cartopy]] 
 + 
 +<wrap hi>Be sure to also have at least a quick look at the examples available in the [[https://​scitools.org.uk/​cartopy/​docs/​latest/​gallery/​|Cartopy Gallery]]!</​wrap>​ 
 + 
 +You can get more python information on the [[other:​python:​jyp_steps|JYP'​s recommended steps for learning python]] page.
  
 This page is under construction and its content may change drastically. The source codes are on LSCE servers, that you can hopefully access (too bad otherwise...) This page is under construction and its content may change drastically. The source codes are on LSCE servers, that you can hopefully access (too bad otherwise...)
Line 19: Line 23:
     * Use an //A4 portrait// (''​figsize=(8.3,​ 11.7)''​) figure size and ''​subplots_adjust''​ in order to improve the page layout     * 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 //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)''​)+    * Use a trick to make sure that the black plot border is correctly plotted above everything (''​top_plot.outline_patch.set_zorder(50)''​). Note: the plot border problem in ''​cartopy 0.17.0''​ has been [[https://​github.com/​SciTools/​cartopy/​issues/​1364|fixed in a future version of cartopy]] and the //​outline_patch trick// will not be required at some point
  
 ===== 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   * 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)''​)     * 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 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 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)     * 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.1568367565.txt.gz · Last modified: 2019/09/13 09:39 by jypeter