I want to draw a rectangle, with a gradient color fill from left to right, at an arbitrary position with arbitrary dimensions in my axes instance (ax1) coordinate system. My first thought was to create a path patch and somehow set its fill as a color gradient. But according to THIS POST there isn't a way to do that. Next I tried using a colorbar. I created a second axes instance ax2 using fig.add_axes([left, bottom, width, height]) and added a color bar to that. ax2 = fig.add_axes([0, 0, width, height/8]) colors = [grad_start_color, grad_end_color] index = [0.0, 1.0] cm = LinearSegmentedColormap.from_list('my_colormap', zip(index, colors)) colorbar.ColorbarBase(ax2, cmap=cm, orientation='horizontal') But the positional parameters passed to fig.add_axes() are in the coordinate system of fig, and don't match up with the coordinate system of ax1. How can I do this? Continue reading...