Sophie

Sophie

distrib > Fedora > 18 > i386 > by-pkgid > bf21b4394f4d7fa09e3626145d3315e0 > files > 172

python-matplotlib-doc-1.2.0-14.fc18.i686.rpm

.. _axes_grid-demo_axes_hbox_divider:

axes_grid example code: demo_axes_hbox_divider.py
=================================================



.. plot:: /builddir/build/BUILD/matplotlib-1.2.0/doc/mpl_examples/axes_grid/demo_axes_hbox_divider.py

::

    import numpy as np
    import matplotlib.pyplot as plt
    from mpl_toolkits.axes_grid1.axes_divider import HBoxDivider
    import mpl_toolkits.axes_grid1.axes_size as Size
    
    def make_heights_equal(fig, rect, ax1, ax2, pad):
        # pad in inches
    
        h1, v1 = Size.AxesX(ax1), Size.AxesY(ax1)
        h2, v2 = Size.AxesX(ax2), Size.AxesY(ax2)
    
        pad_v = Size.Scaled(1)
        pad_h = Size.Fixed(pad)
    
        my_divider = HBoxDivider(fig, rect,
                                 horizontal=[h1, pad_h, h2],
                                 vertical=[v1, pad_v, v2])
    
    
        ax1.set_axes_locator(my_divider.new_locator(0))
        ax2.set_axes_locator(my_divider.new_locator(2))
    
    
    if __name__ == "__main__":
    
        fig1 = plt.figure()
    
        arr1 = np.arange(20).reshape((4,5))
        arr2 = np.arange(20).reshape((5,4))
    
        ax1 = plt.subplot(121)
        ax2 = plt.subplot(122)
    
        ax1.imshow(arr1, interpolation="nearest")
        ax2.imshow(arr2, interpolation="nearest")
    
        rect = 111 # subplot param for combined axes
        make_heights_equal(fig1, rect, ax1, ax2, pad=0.5) # pad in inches
    
        for ax in [ax1, ax2]:
            ax.locator_params(nbins=4)
    
        # annotate
        ax3 = plt.axes([0.5, 0.5, 0.001, 0.001], frameon=False)
        ax3.xaxis.set_visible(False)
        ax3.yaxis.set_visible(False)
        ax3.annotate("Location of two axes are adjusted\n so that they have equal heights\n while maintaining their aspect ratios", (0.5, 0.5),
                     xycoords="axes fraction", va="center", ha="center",
                     bbox=dict(boxstyle="round, pad=1", fc="w"))
    
        plt.show()
    
    

Keywords: python, matplotlib, pylab, example, codex (see :ref:`how-to-search-examples`)