The following code compares two interpolation schemes,
'bilinear' (which, for a small array will make a blurry image) and
'nearest' which should look "blocky" (i.e. more faithful to the data).
import numpy as np import matplotlib.pyplot as plt import matplotlib.cm as cm # Make an array with ones in the shape of an 'X' a = np.eye(10,10) a += a[::-1,:] fig = plt.figure() ax1 = fig.add_subplot(121) # Bilinear interpolation - this will look blurry ax1.imshow(a, interpolation='bilinear', cmap=cm.Greys_r) ax2 = fig.add_subplot(122) # 'nearest' interpolation - faithful but blocky ax2.imshow(a, interpolation='nearest', cmap=cm.Greys_r) plt.show()
Note: in earlier versions of Matplotlib, bilinear interpolation was the default and
interpolation='nearest' had to be set explicitly if required.