Python Multiple plots in one Figure: In this tutorial, we are going to learn about the multiple plots in one figure and its Python implementation. Submitted by Anuj Singh, on July 09, 2020 Most of the time, we need to compare multiple data and functions. Return Figure object for a new figure or an existing one (if there is any with the number passed as parameter). @param num:: figure number (optional). If empty, a new figure is created. Pymantidplot.pyplot.grid(opt='on')¶ Enable a grid on the active plot (horizontal and vertical) @param title:: ‘on’ to enable.
pyplot.subplots
creates a figure and a grid of subplots with a single call,while providing reasonable control over how the individual plots are created.For more advanced use cases you can use GridSpec
for a more general subplotlayout or Figure.add_subplot
for adding subplots at arbitrary locationswithin the figure.
subplots()
without arguments returns a Figure
and a singleAxes
.
This is actually the simplest and recommended way of creating a singleFigure and Axes.
The first two optional arguments of pyplot.subplots
define the number ofrows and columns of the subplot grid.
When stacking in one direction only, the returned axs
is a 1D numpy arraycontaining the list of created Axes.
If you are creating just a few Axes, it's handy to unpack them immediately todedicated variables for each Axes. That way, we can use ax1
instead ofthe more verbose axs[0]
.
To obtain side-by-side subplots, pass parameters 1,2
for one row and twocolumns.
When stacking in two directions, the returned axs
is a 2D numpy array.
If you have to set parameters for each subplot it's handy to iterate overall subplots in a 2D grid using foraxinaxs.flat:
.
You can use tuple-unpacking also in 2D to assign all subplots to dedicatedvariables:
By default, each Axes is scaled individually. Thus, if the ranges aredifferent the tick values of the subplots do not align.
You can use sharex or sharey to align the horizontal or vertical axis.
Setting sharex or sharey to True
enables global sharing across thewhole grid, i.e. also the y-axes of vertically stacked subplots have thesame scale when using sharey=True
.
For subplots that are sharing axes one set of tick labels is enough. Ticklabels of inner Axes are automatically removed by sharex and sharey.Still there remains an unused empty space between the subplots.
The parameter gridspec_kw of pyplot.subplots
controls the gridproperties (see also GridSpec
). For example, we can reduce the heightbetween vertical subplots using gridspec_kw={'hspace':0}
.
label_outer
is a handy method to remove labels and ticks from subplotsthat are not at the edge of the grid.
Apart from True
and False
, both sharex and sharey accept thevalues 'row' and 'col' to share the values only per row or column.
The parameter subplot_kw of pyplot.subplots
controls the subplotproperties (see also Figure.add_subplot
). In particular, this can be usedto create a grid of polar Axes.
Total running time of the script: ( 0 minutes 1.302 seconds)
Keywords: matplotlib code example, codex, python plot, pyplotGallery generated by Sphinx-Gallery