def demo_grid_with_each_cbar(fig): """ A grid of 2x2 images. Each image has its own colobar. """ grid = AxesGrid( F, 133, # similar to subplot(122) nrows_ncols=(2, 2), axes_pad=0.1, label_mode="1", share_all=True, cbar_location="top", cbar_mode="each", cbar_size="7%", cbar_pad="2%", ) Z, extent = get_demo_image() for i in range(4): im = grid[i].imshow(Z, extent=extent, interpolation="nearest") grid.cbar_axes[i].colorbar(im) # This affects all axes because we set share_all = True. grid.axes_llc.set_xticks([-2, 0, 2]) grid.axes_llc.set_yticks([-2, 0, 2])
def get_rgb(): Z, extent = get_demo_image() Z[Z < 0] = 0. Z = Z / Z.max() R = Z[:13, :13] G = Z[2:, 2:] B = Z[:13, 2:] return R, G, B
def demo_images_side_by_sied(ax): from mpl_toolkits.axes_grid import make_axes_locatable divider = make_axes_locatable(ax) Z, extent = get_demo_image() ax2 = divider.new_horizontal(size="100%", pad=0.05) fig1 = ax.get_figure() fig1.add_axes(ax2) ax.imshow(Z, extent=extent, interpolation="nearest") ax2.imshow(Z, extent=extent, interpolation="nearest") for tl in ax2.get_yticklabels(): tl.set_visible(False)
def get_rgb(): Z, extent = get_demo_image() Z[Z<0] = 0. Z = Z/Z.max() R = Z[:13,:13] G = Z[2:,2:] B = Z[:13,2:] return R, G, B
def demo_locatable_axes_easy(ax): from mpl_toolkits.axes_grid import make_axes_locatable divider = make_axes_locatable(ax) ax_cb = divider.new_horizontal(size="5%", pad=0.05) fig1 = ax.get_figure() fig1.add_axes(ax_cb) Z, extent = get_demo_image() im = ax.imshow(Z, extent=extent, interpolation="nearest") plt.colorbar(im, cax=ax_cb) ax_cb.yaxis.tick_right() for tl in ax_cb.get_yticklabels(): tl.set_visible(False) ax_cb.yaxis.tick_right()
def demo_simple_grid(fig): """ A grid of 2x2 images with 0.05 inch pad between images and only the lower-left axes is labeld. """ grid = AxesGrid(fig, 131, # similar to subplot(131) nrows_ncols = (2, 2), axes_pad = 0.05, label_mode = "1", ) Z, extent = get_demo_image() for i in range(4): im = grid[i].imshow(Z, extent=extent, interpolation="nearest") grid.axes_llc.set_xticks([-2, 0, 2]) grid.axes_llc.set_yticks([-2, 0, 2])
def demo_grid_with_single_cbar(fig): """ A grid of 2x2 images with a single colobar """ grid = AxesGrid(fig, 132, # similar to subplot(132) nrows_ncols = (2, 2), axes_pad = 0.0, share_all=True, label_mode = "L", cbar_mode="single", ) Z, extent = get_demo_image() for i in range(4): im = grid[i].imshow(Z, extent=extent, interpolation="nearest") plt.colorbar(im, cax = grid.cbar_axes[0]) grid.cbar_axes[0].colorbar(im) grid.axes_llc.set_xticks([-2, 0, 2]) grid.axes_llc.set_yticks([-2, 0, 2])
def demo_simple_grid(fig): """ A grid of 2x2 images with 0.05 inch pad between images and only the lower-left axes is labeld. """ grid = AxesGrid( fig, 131, # similar to subplot(131) nrows_ncols=(2, 2), axes_pad=0.05, label_mode="1", ) Z, extent = get_demo_image() for i in range(4): im = grid[i].imshow(Z, extent=extent, interpolation="nearest") # This only affects axes in first column and second row as share_all = False. grid.axes_llc.set_xticks([-2, 0, 2]) grid.axes_llc.set_yticks([-2, 0, 2])
def demo_grid_with_each_cbar(fig): """ A grid of 2x2 images. Each image has its own colobar. """ grid = AxesGrid(F, 133, # similar to subplot(122) nrows_ncols = (2, 2), axes_pad = 0.1, label_mode = "1", share_all = True, cbar_location="top", cbar_mode="each", cbar_size="7%", cbar_pad="2%", ) Z, extent = get_demo_image() for i in range(4): im = grid[i].imshow(Z, extent=extent, interpolation="nearest") grid.cbar_axes[i].colorbar(im) grid.axes_llc.set_xticks([-2, 0, 2]) grid.axes_llc.set_yticks([-2, 0, 2])
def demo_locatable_axes_hard(fig1): from mpl_toolkits.axes_grid \ import SubplotDivider, LocatableAxes, Size divider = SubplotDivider(fig1, 2, 2, 2, aspect=True) # axes for image ax = LocatableAxes(fig1, divider.get_position()) # axes for coloarbar ax_cb = LocatableAxes(fig1, divider.get_position()) h = [ Size.AxesX(ax), # main axes Size.Fixed(0.05), # padding, 0.1 inch Size.Fixed(0.2), # colorbar, 0.3 inch ] v = [Size.AxesY(ax)] divider.set_horizontal(h) divider.set_vertical(v) ax.set_axes_locator(divider.new_locator(nx=0, ny=0)) ax_cb.set_axes_locator(divider.new_locator(nx=2, ny=0)) fig1.add_axes(ax) fig1.add_axes(ax_cb) ax_cb.axis["left"].toggle(all=False) ax_cb.axis["right"].toggle(ticks=True) Z, extent = get_demo_image() im = ax.imshow(Z, extent=extent, interpolation="nearest") plt.colorbar(im, cax=ax_cb) plt.setp(ax_cb.get_yticklabels(), visible=False)
def demo_locatable_axes_hard(fig1): from mpl_toolkits.axes_grid \ import SubplotDivider, LocatableAxes, Size divider = SubplotDivider(fig1, 2, 2, 2, aspect=True) ax = LocatableAxes(fig1, divider.get_position()) ax_cb = LocatableAxes(fig1, divider.get_position()) h = [Size.AxesX(ax), # main axes Size.Fixed(0.05), # padding, 0.1 inch Size.Fixed(0.2), # colorbar, 0.3 inch ] v = [Size.AxesY(ax)] divider.set_horizontal(h) divider.set_vertical(v) ax.set_axes_locator(divider.new_locator(nx=0, ny=0)) ax_cb.set_axes_locator(divider.new_locator(nx=2, ny=0)) fig1.add_axes(ax) fig1.add_axes(ax_cb) ax_cb.axis["left"].toggle(all=False) ax_cb.axis["right"].toggle(ticks=True) Z, extent = get_demo_image() im = ax.imshow(Z, extent=extent, interpolation="nearest") plt.colorbar(im, cax=ax_cb) plt.setp(ax_cb.get_yticklabels(), visible=False)
def demo_grid_with_single_cbar(fig): """ A grid of 2x2 images with a single colobar """ grid = AxesGrid( fig, 132, # similar to subplot(132) nrows_ncols=(2, 2), axes_pad=0.0, share_all=True, label_mode="L", cbar_mode="single", ) Z, extent = get_demo_image() for i in range(4): im = grid[i].imshow(Z, extent=extent, interpolation="nearest") plt.colorbar(im, cax=grid.cbar_axes[0]) grid.cbar_axes[0].colorbar(im) # This affects all axes as share_all = True. grid.axes_llc.set_xticks([-2, 0, 2]) grid.axes_llc.set_yticks([-2, 0, 2])
import matplotlib.pyplot as plt from mpl_toolkits.axes_grid import AxesGrid from demo_image import get_demo_image F = plt.figure(1, (5.5, 3.5)) grid = AxesGrid( F, 111, # similar to subplot(111) nrows_ncols=(1, 3), axes_pad=0.1, add_all=True, label_mode="L", ) Z, extent = get_demo_image() # demo image im1 = Z im2 = Z[:, :10] im3 = Z[:, 10:] vmin, vmax = Z.min(), Z.max() for i, im in enumerate([im1, im2, im3]): ax = grid[i] ax.imshow(im, origin="lower", vmin=vmin, vmax=vmax, interpolation="nearest") plt.draw() plt.show()
def demo_simple_image(ax): Z, extent = get_demo_image() im = ax.imshow(Z, extent=extent, interpolation="nearest") cb = plt.colorbar(im) plt.setp(cb.ax.get_yticklabels(), visible=False)
import matplotlib.pyplot as plt from mpl_toolkits.axes_grid import AxesGrid from demo_image import get_demo_image F = plt.figure(1, (5.5, 3.5)) grid = AxesGrid(F, 111, # similar to subplot(111) nrows_ncols = (1, 3), axes_pad = 0.1, add_all=True, label_mode = "L", ) Z, extent = get_demo_image() # demo image im1=Z im2=Z[:,:10] im3=Z[:,10:] vmin, vmax = Z.min(), Z.max() for i, im in enumerate([im1, im2, im3]): ax = grid[i] ax.imshow(im, origin="lower", vmin=vmin, vmax=vmax, interpolation="nearest") plt.draw() plt.show()