This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
other:python:jyp_steps [2019/06/19 12:15] jypeter [Useful matplotlib reference pages] |
other:python:jyp_steps [2019/06/27 08:49] jypeter [Matplotlib] Added example of get/set_position |
||
---|---|---|---|
Line 211: | Line 211: | ||
bottom_plot = plot_array[2]</code> | bottom_plot = plot_array[2]</code> | ||
* creating a figure and axes with a single line: ''my_page, plot_array = **plt**.subplots(3, 1)'' | * creating a figure and axes with a single line: ''my_page, plot_array = **plt**.subplots(3, 1)'' | ||
+ | * use [[https://matplotlib.org/api/_as_gen/matplotlib.figure.Figure.html#matplotlib.figure.Figure.add_axes|my_page.add_axes(...)]] to add an axis in an arbirary location of the page\\ ''my_page.add_axes([left, bottom, width, height])'' | ||
* a Matplotlib **//Artist//** or //Patch// is //something// (e.g a line, a group of markers, text, the legend...) plotted on the Figure/Axis | * a Matplotlib **//Artist//** or //Patch// is //something// (e.g a line, a group of markers, text, the legend...) plotted on the Figure/Axis | ||
* **clearing** the //page// (or part of it): you probably won't need that... | * **clearing** the //page// (or part of it): you probably won't need that... | ||
Line 222: | Line 223: | ||
* [[https://matplotlib.org/api/_as_gen/matplotlib.pyplot.subplots.html|plt.subplots(...)]] with an **s** at the end ([[https://matplotlib.org/gallery/subplots_axes_and_figures/subplots_demo.html|demo]]) | * [[https://matplotlib.org/api/_as_gen/matplotlib.pyplot.subplots.html|plt.subplots(...)]] with an **s** at the end ([[https://matplotlib.org/gallery/subplots_axes_and_figures/subplots_demo.html|demo]]) | ||
* [[https://matplotlib.org/api/_as_gen/matplotlib.pyplot.subplots_adjust.html|subplots_adjust]] can be used to change the overall boundaries of the subplots on the figure, and the spacing between the subplots\\ ''plt.subplots_adjust(left=None, bottom=None, right=None, top=None, wspace=None, hspace=None)''\\ or ''my_page.subplots_adjust(left=None, bottom=None, right=None, top=None, wspace=None, hspace=None)'' | * [[https://matplotlib.org/api/_as_gen/matplotlib.pyplot.subplots_adjust.html|subplots_adjust]] can be used to change the overall boundaries of the subplots on the figure, and the spacing between the subplots\\ ''plt.subplots_adjust(left=None, bottom=None, right=None, top=None, wspace=None, hspace=None)''\\ or ''my_page.subplots_adjust(left=None, bottom=None, right=None, top=None, wspace=None, hspace=None)'' | ||
+ | * ''hspace''/''wspace'' is the amount of height/width between the subplots | ||
+ | * ''hspace=0.1'' is enough for just displaying the ticks and the labels, without the axis name | ||
+ | * use ''hspace=0'' to stick the plots together vertically | ||
+ | * do not forget to disable the ticks where there is no space to plot them: ''my_plot.set_xticks([])'' | ||
+ | * ''my_page.subplots_adjust(right=0.75)'' will leave 25% on the right of the page for adding a legend outside of a plot | ||
+ | * You can also **resize an existing (sub)plot** the following way: | ||
+ | - Get the current size information: ''pl_x_bottomleft, pl_y_bottomleft, pl_width, pl_height = my_plot.get_position().bounds'' | ||
+ | - Set the new size: e.g reduce the height with ''my_plot.set_position( (pl_x_bottomleft, pl_y_bottomleft, pl_width, pl_height * 0.5) )'' | ||
* [[https://matplotlib.org/gallery/index.html#subplots-axes-and-figures|Subplots, axes and figures]] gallery | * [[https://matplotlib.org/gallery/index.html#subplots-axes-and-figures|Subplots, axes and figures]] gallery | ||
* [[https://matplotlib.org/tutorials/intermediate/gridspec.html#sphx-glr-tutorials-intermediate-gridspec-py|Customizing Figure Layouts Using GridSpec and Other Functions]], [[https://matplotlib.org/tutorials/intermediate/constrainedlayout_guide.html|constrained layout]] and [[https://matplotlib.org/tutorials/intermediate/tight_layout_guide.html|tight layout]] | * [[https://matplotlib.org/tutorials/intermediate/gridspec.html#sphx-glr-tutorials-intermediate-gridspec-py|Customizing Figure Layouts Using GridSpec and Other Functions]], [[https://matplotlib.org/tutorials/intermediate/constrainedlayout_guide.html|constrained layout]] and [[https://matplotlib.org/tutorials/intermediate/tight_layout_guide.html|tight layout]] |