.. only:: html
.. note::
:class: sphx-glr-download-link-note
Click :ref:`here ` to download the full example code
.. rst-class:: sphx-glr-example-title
.. _sphx_glr_gallery_subplots_axes_and_figures_colorbar_placement.py:
=================
Placing Colorbars
=================
Colorbars indicate the quantitative extent of image data. Placing in
a figure is non-trivial because room needs to be made for them.
The simplest case is just attaching a colorbar to each axes:
.. code-block:: default
import matplotlib.pyplot as plt
import numpy as np
fig, axs = plt.subplots(2, 2)
cm = ['RdBu_r', 'viridis']
for col in range(2):
for row in range(2):
ax = axs[row, col]
pcm = ax.pcolormesh(np.random.random((20, 20)) * (col + 1),
cmap=cm[col])
fig.colorbar(pcm, ax=ax)
plt.show()
.. image:: /gallery/subplots_axes_and_figures/images/sphx_glr_colorbar_placement_001.png
:alt: colorbar placement
:class: sphx-glr-single-img
The first column has the same type of data in both rows, so it may
be desirable to combine the colorbar which we do by calling
`.Figure.colorbar` with a list of axes instead of a single axes.
.. code-block:: default
fig, axs = plt.subplots(2, 2)
cm = ['RdBu_r', 'viridis']
for col in range(2):
for row in range(2):
ax = axs[row, col]
pcm = ax.pcolormesh(np.random.random((20, 20)) * (col + 1),
cmap=cm[col])
fig.colorbar(pcm, ax=axs[:, col], shrink=0.6)
plt.show()
.. image:: /gallery/subplots_axes_and_figures/images/sphx_glr_colorbar_placement_002.png
:alt: colorbar placement
:class: sphx-glr-single-img
Relatively complicated colorbar layouts are possible using this
paradigm. Note that this example works far better with
``constrained_layout=True``
.. code-block:: default
fig, axs = plt.subplots(3, 3, constrained_layout=True)
for ax in axs.flat:
pcm = ax.pcolormesh(np.random.random((20, 20)))
fig.colorbar(pcm, ax=axs[0, :2], shrink=0.6, location='bottom')
fig.colorbar(pcm, ax=[axs[0, 2]], location='bottom')
fig.colorbar(pcm, ax=axs[1:, :], location='right', shrink=0.6)
fig.colorbar(pcm, ax=[axs[2, 1]], location='left')
plt.show()
.. image:: /gallery/subplots_axes_and_figures/images/sphx_glr_colorbar_placement_003.png
:alt: colorbar placement
:class: sphx-glr-single-img
.. rst-class:: sphx-glr-timing
**Total running time of the script:** ( 0 minutes 1.311 seconds)
.. _sphx_glr_download_gallery_subplots_axes_and_figures_colorbar_placement.py:
.. only :: html
.. container:: sphx-glr-footer
:class: sphx-glr-footer-example
.. container:: sphx-glr-download sphx-glr-download-python
:download:`Download Python source code: colorbar_placement.py `
.. container:: sphx-glr-download sphx-glr-download-jupyter
:download:`Download Jupyter notebook: colorbar_placement.ipynb `
.. only:: html
.. rst-class:: sphx-glr-signature
Keywords: matplotlib code example, codex, python plot, pyplot
`Gallery generated by Sphinx-Gallery
`_