Fork me on GitHub


Related Topics

This Page

Layer ImagesΒΆ

Layer images above one another using alpha blending

from __future__ import division
import matplotlib.pyplot as plt
import numpy as np

def func3(x, y):
    return (1 - x / 2 + x**5 + y**3) * np.exp(-(x**2 + y**2))

# make these smaller to increase the resolution
dx, dy = 0.05, 0.05

x = np.arange(-3.0, 3.0, dx)
y = np.arange(-3.0, 3.0, dy)
X, Y = np.meshgrid(x, y)

# when layering multiple images, the images need to have the same
# extent.  This does not mean they need to have the same shape, but
# they both need to render to the same coordinate system determined by
# xmin, xmax, ymin, ymax.  Note if you use different interpolations
# for the images their apparent extent could be different due to
# interpolation edge effects

extent = np.min(x), np.max(x), np.min(y), np.max(y)
fig = plt.figure(frameon=False)

Z1 = np.add.outer(range(8), range(8)) % 2  # chessboard
im1 = plt.imshow(Z1,, interpolation='nearest',

Z2 = func3(X, Y)

im2 = plt.imshow(Z2,, alpha=.9, interpolation='bilinear',

Total running time of the script: ( 0 minutes 0.019 seconds)

Gallery generated by Sphinx-Gallery