

.. _sphx_glr_gallery_subplots_axes_and_figures_ganged_plots.py:


==========================
Creating adjacent subplots
==========================

To create plots that share a common axis (visually) you can set the hspace
between the subplots to zero. Passing sharex=True when creating the subplots
will automatically turn off all x ticks and labels except those on the bottom
axis.

In this example the plots share a common x axis but you can follow the same
logic to supply a common y axis.




.. image:: /gallery/subplots_axes_and_figures/images/sphx_glr_ganged_plots_001.png
    :align: center





.. code-block:: python

    import matplotlib.pyplot as plt
    import numpy as np

    t = np.arange(0.0, 2.0, 0.01)

    s1 = np.sin(2 * np.pi * t)
    s2 = np.exp(-t)
    s3 = s1 * s2

    fig, axs = plt.subplots(3, 1, sharex=True)
    # Remove horizontal space between axes
    fig.subplots_adjust(hspace=0)

    # Plot each graph, and manually set the y tick values
    axs[0].plot(t, s1)
    axs[0].set_yticks(np.arange(-0.9, 1.0, 0.4))
    axs[0].set_ylim(-1, 1)

    axs[1].plot(t, s2)
    axs[1].set_yticks(np.arange(0.1, 1.0, 0.2))
    axs[1].set_ylim(0, 1)

    axs[2].plot(t, s3)
    axs[2].set_yticks(np.arange(-0.9, 1.0, 0.4))
    axs[2].set_ylim(-1, 1)

    plt.show()

**Total running time of the script:** ( 0 minutes  0.082 seconds)



.. container:: sphx-glr-footer


  .. container:: sphx-glr-download

     :download:`Download Python source code: ganged_plots.py <ganged_plots.py>`



  .. container:: sphx-glr-download

     :download:`Download Jupyter notebook: ganged_plots.ipynb <ganged_plots.ipynb>`

.. rst-class:: sphx-glr-signature

    `Generated by Sphinx-Gallery <https://sphinx-gallery.readthedocs.io>`_
