User Tools

Site Tools


other:python:matplotlib_by_jyp

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
other:python:matplotlib_by_jyp [2023/09/27 14:08] – [Working with matplotlib (JYP version)] Added link to pdf cheatsheets jypeterother:python:matplotlib_by_jyp [2023/10/26 10:39] (current) – [Useful matplotlib reference pages] jypeter
Line 1: Line 1:
 ====== Working with matplotlib (JYP version) ====== ====== Working with matplotlib (JYP version) ======
  
-<note tip>Note: [[https://matplotlib.org/cheatsheets/|Matplotlib cheatsheets]] +<note tip>Note: [[https://matplotlib.org/cheatsheets/|Matplotlib cheatsheets]] ([[https://github.com/matplotlib/cheatsheets#cheatsheets-for-matplotlib-users|pdf version]])</note>
- +
-\\ The [[https://github.com/matplotlib/cheatsheets#cheatsheets-for-matplotlib-users|pdf version of the cheatsheets]] is available on the github page</note>+
  
 **Summary**: there are lots of python libraries that you can use for plotting, but Matplotlib has become a //de facto// standard **Summary**: there are lots of python libraries that you can use for plotting, but Matplotlib has become a //de facto// standard
Line 36: Line 34:
         * if you need several display windows at the same time, create several figures!\\ <code>win_1 = plt.figure()         * if you need several display windows at the same time, create several figures!\\ <code>win_1 = plt.figure()
 win_2 = plt.figure()</code> win_2 = plt.figure()</code>
-        * the [[http://matplotlib.org/faq/usage_faq.html#parts-of-a-figure|parts of a figure]] are usually positioned in //normalized coordinates//: ''(0, 0)'' is the bottom left of the figure, and ''(1, 1)'' is the top right+        * the [[https://matplotlib.org/stable/gallery/showcase/anatomy.html|parts of a figure]] are usually positioned in //normalized coordinates//: ''(0, 0)'' is the bottom left of the figure, and ''(1, 1)'' is the top right
         * You don't really specify the **page orientation** (//portrait// or //landscape//) of a plot. If you want a portrait plot, it's up to you to create a plot that will look higher than it is large. The idea is not to worry about this and just check the final resulting plot: create a plot, save it, display the resulting png/pdf and then adjust the creation script         * You don't really specify the **page orientation** (//portrait// or //landscape//) of a plot. If you want a portrait plot, it's up to you to create a plot that will look higher than it is large. The idea is not to worry about this and just check the final resulting plot: create a plot, save it, display the resulting png/pdf and then adjust the creation script
           * If you do have an idea of the layout of what you want to plot, it may be easier to explicitly specify the figure size/ratio at creation time, and then try to //fill// the normalized coordinates space of the figure           * If you do have an idea of the layout of what you want to plot, it may be easier to explicitly specify the figure size/ratio at creation time, and then try to //fill// the normalized coordinates space of the figure
Line 43: Line 41:
             * The specified ''width'' and ''height'' are supposed to be in inches (1 inch = 2.54 cm)             * The specified ''width'' and ''height'' are supposed to be in inches (1 inch = 2.54 cm)
             * ''my_page = plt.figure(figsize=(8.3, 11.7))'': create a figure that will theoretically fill an A4 size page in portrait mode (check [[https://www.papersizes.org/a-paper-sizes.htm|Dimensions Of A Series Paper Sizes]] if you need more details about standard paper sizes)             * ''my_page = plt.figure(figsize=(8.3, 11.7))'': create a figure that will theoretically fill an A4 size page in portrait mode (check [[https://www.papersizes.org/a-paper-sizes.htm|Dimensions Of A Series Paper Sizes]] if you need more details about standard paper sizes)
-      * a Matplotlib **//Axis//** is a **plot** inside a Figure... [[http://matplotlib.org/faq/usage_faq.html#parts-of-a-figure|More details]]+      * a Matplotlib **//Axes//** (not to be confused with an //**axis**//is a **(sub-)plot** inside a Figure... [[https://matplotlib.org/stable/api/axes_api.html|(much) More details]]
         * reserve space for **one plot** that will use most of the available area of the figure/page:         * reserve space for **one plot** that will use most of the available area of the figure/page:
           * ''my_plot = my_page.add_subplot(1, 1, 1)'' or ''my_plot = my_page.subplot**s**()''           * ''my_plot = my_page.add_subplot(1, 1, 1)'' or ''my_plot = my_page.subplot**s**()''
Line 190: Line 188:
     * [[https://matplotlib.org/stable/gallery/subplots_axes_and_figures/colorbar_placement.html|Placing colorbars demo]]     * [[https://matplotlib.org/stable/gallery/subplots_axes_and_figures/colorbar_placement.html|Placing colorbars demo]]
     * [[https://matplotlib.org/stable/gallery/images_contours_and_fields/contourf_demo.html|contourf + colorbar demo]]     * [[https://matplotlib.org/stable/gallery/images_contours_and_fields/contourf_demo.html|contourf + colorbar demo]]
 +    * Changing the font size of a colorbar (i.e. //changing [[https://matplotlib.org/stable/api/axes_api.html#ticks-and-tick-labels|ticks and tick labels]]//):
 +      * This can be done by manipulating the properties of the //Axes// where the colorbar is plotted\\ e.g. change the tick labels font size with\\ ''cb.ax.tick_params(labelsize='xx-large')'' (where ''cb'' is a //colorbar// object)
   * [[https://matplotlib.org/api/_as_gen/matplotlib.pyplot.text.html|text(...)]] and [[https://matplotlib.org/tutorials/text/annotations.html|annotations]]   * [[https://matplotlib.org/api/_as_gen/matplotlib.pyplot.text.html|text(...)]] and [[https://matplotlib.org/tutorials/text/annotations.html|annotations]]
     * Some titles:     * Some titles:
other/python/matplotlib_by_jyp.1695816484.txt.gz · Last modified: 2023/09/27 14:08 by jypeter

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki