.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "gallery/axes_grid1/inset_locator_demo2.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. meta:: :keywords: codex .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code .. rst-class:: sphx-glr-example-title .. _sphx_glr_gallery_axes_grid1_inset_locator_demo2.py: ==================== Inset locator demo 2 ==================== This demo shows how to create a zoomed inset via `.zoomed_inset_axes`. In the first subplot an `.AnchoredSizeBar` shows the zoom effect. In the second subplot a connection to the region of interest is created via `.mark_inset`. A version of the second subplot, not using the toolkit, is available in :doc:`/gallery/subplots_axes_and_figures/zoom_inset_axes`. .. GENERATED FROM PYTHON SOURCE LINES 14-74 .. image-sg:: /gallery/axes_grid1/images/sphx_glr_inset_locator_demo2_001.png :alt: inset locator demo2 :srcset: /gallery/axes_grid1/images/sphx_glr_inset_locator_demo2_001.png, /gallery/axes_grid1/images/sphx_glr_inset_locator_demo2_001_2_00x.png 2.00x :class: sphx-glr-single-img .. code-block:: Python import matplotlib.pyplot as plt import numpy as np from matplotlib import cbook from mpl_toolkits.axes_grid1.anchored_artists import AnchoredSizeBar from mpl_toolkits.axes_grid1.inset_locator import mark_inset, zoomed_inset_axes fig, (ax, ax2) = plt.subplots(ncols=2, figsize=[6, 3]) # First subplot, showing an inset with a size bar. ax.set_aspect(1) axins = zoomed_inset_axes(ax, zoom=0.5, loc='upper right') # fix the number of ticks on the inset axes axins.yaxis.get_major_locator().set_params(nbins=7) axins.xaxis.get_major_locator().set_params(nbins=7) axins.tick_params(labelleft=False, labelbottom=False) def add_sizebar(ax, size): asb = AnchoredSizeBar(ax.transData, size, str(size), loc=8, pad=0.1, borderpad=0.5, sep=5, frameon=False) ax.add_artist(asb) add_sizebar(ax, 0.5) add_sizebar(axins, 0.5) # Second subplot, showing an image with an inset zoom and a marked inset Z = cbook.get_sample_data("axes_grid/bivariate_normal.npy") # 15x15 array extent = (-3, 4, -4, 3) Z2 = np.zeros((150, 150)) ny, nx = Z.shape Z2[30:30+ny, 30:30+nx] = Z ax2.imshow(Z2, extent=extent, origin="lower") axins2 = zoomed_inset_axes(ax2, zoom=6, loc=1) axins2.imshow(Z2, extent=extent, origin="lower") # subregion of the original image x1, x2, y1, y2 = -1.5, -0.9, -2.5, -1.9 axins2.set_xlim(x1, x2) axins2.set_ylim(y1, y2) # fix the number of ticks on the inset axes axins2.yaxis.get_major_locator().set_params(nbins=7) axins2.xaxis.get_major_locator().set_params(nbins=7) axins2.tick_params(labelleft=False, labelbottom=False) # draw a bbox of the region of the inset axes in the parent axes and # connecting lines between the bbox and the inset axes area mark_inset(ax2, axins2, loc1=2, loc2=4, fc="none", ec="0.5") plt.show() .. _sphx_glr_download_gallery_axes_grid1_inset_locator_demo2.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: inset_locator_demo2.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: inset_locator_demo2.py ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_