["python","matplotlib","colorbar","imshow"]
Positioning the colorbar

I have a matplotlib plot with a colorbar attached. I want to position the colorbar so that it is horizontal, and underneath my plot. I have almost done this via the following: plt.colorbar(orientation="horizontal",fraction=0.07,anchor=(1.0,0.0)) But the colorbar is still overlapping with the plot slightly (and the labels of the x axis). I want to move the colorbar further down, but I can't figure out how to do it.
Edit: Updated for matplotlib version >= 3. Three great ways to do this have already been shared in this answer. The matplotlib documentation advises to use inset_locator. This would work as follows: import matplotlib.pyplot as plt from mpl_toolkits.axes_grid1.inset_locator import inset_axes import numpy as np rng = np.random.default_rng(1) fig, ax = plt.subplots(figsize=(4,4)) im = ax.imshow(rng.random((11, 16))) ax.set_xlabel("x label") axins = inset_axes(ax, width="100%", height="5%", loc='lower center', borderpad=-5 ) fig.colorbar(im, cax=axins, orientation="horizontal")