

.. _sphx_glr_gallery_axes_grid1_make_room_for_ylabel_using_axesgrid.py:


===================================
Make Room For Ylabel Using Axesgrid
===================================





.. rst-class:: sphx-glr-horizontal


    *

      .. image:: /gallery/axes_grid1/images/sphx_glr_make_room_for_ylabel_using_axesgrid_001.png
            :scale: 47

    *

      .. image:: /gallery/axes_grid1/images/sphx_glr_make_room_for_ylabel_using_axesgrid_002.png
            :scale: 47

    *

      .. image:: /gallery/axes_grid1/images/sphx_glr_make_room_for_ylabel_using_axesgrid_003.png
            :scale: 47





.. code-block:: python

    from mpl_toolkits.axes_grid1 import make_axes_locatable
    from mpl_toolkits.axes_grid1.axes_divider import make_axes_area_auto_adjustable


    if __name__ == "__main__":

        import matplotlib.pyplot as plt

        def ex1():
            plt.figure(1)
            ax = plt.axes([0, 0, 1, 1])
            #ax = plt.subplot(111)

            ax.set_yticks([0.5])
            ax.set_yticklabels(["very long label"])

            make_axes_area_auto_adjustable(ax)

        def ex2():

            plt.figure(2)
            ax1 = plt.axes([0, 0, 1, 0.5])
            ax2 = plt.axes([0, 0.5, 1, 0.5])

            ax1.set_yticks([0.5])
            ax1.set_yticklabels(["very long label"])
            ax1.set_ylabel("Y label")

            ax2.set_title("Title")

            make_axes_area_auto_adjustable(ax1, pad=0.1, use_axes=[ax1, ax2])
            make_axes_area_auto_adjustable(ax2, pad=0.1, use_axes=[ax1, ax2])

        def ex3():

            fig = plt.figure(3)
            ax1 = plt.axes([0, 0, 1, 1])
            divider = make_axes_locatable(ax1)

            ax2 = divider.new_horizontal("100%", pad=0.3, sharey=ax1)
            ax2.tick_params(labelleft="off")
            fig.add_axes(ax2)

            divider.add_auto_adjustable_area(use_axes=[ax1], pad=0.1,
                                             adjust_dirs=["left"])
            divider.add_auto_adjustable_area(use_axes=[ax2], pad=0.1,
                                             adjust_dirs=["right"])
            divider.add_auto_adjustable_area(use_axes=[ax1, ax2], pad=0.1,
                                             adjust_dirs=["top", "bottom"])

            ax1.set_yticks([0.5])
            ax1.set_yticklabels(["very long label"])

            ax2.set_title("Title")
            ax2.set_xlabel("X - Label")

        ex1()
        ex2()
        ex3()

        plt.show()

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



.. container:: sphx-glr-footer


  .. container:: sphx-glr-download

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



  .. container:: sphx-glr-download

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

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

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