matplotlib 中interpolation参数的作用

原文详见https://matplotlib.org/gallery/images_contours_and_fields/interpolation_methods.html?highlight=interpolation

Interpolations for imshow/matshow

This example displays the difference between interpolation methods for imshow and matshow.

If interpolation is None, it defaults to the rc image.interpolation parameter. If the interpolation is none, then no interpolation is performed for the Agg, ps and pdf backends. Other backends will default to ‘nearest’.

For the Agg, ps and pdf backends, interpolation = ‘none’ works well when a big image is scaled down, while interpolation = ‘nearest’ works well when a small image is scaled up.

matplotlib 中interpolation参数的作用
import matplotlib.pyplot as plt
import numpy as np

methods = [None, 'none', 'nearest', 'bilinear', 'bicubic', 'spline16',
           'spline36', 'hanning', 'hamming', 'hermite', 'kaiser', 'quadric',
           'catrom', 'gaussian', 'bessel', 'mitchell', 'sinc', 'lanczos']

# Fixing random state for reproducibility
np.random.seed(19680801)

grid = np.random.rand(4, 4)

fig, axes = plt.subplots(3, 6, figsize=(12, 6),
                         subplot_kw={'xticks': [], 'yticks': []})

fig.subplots_adjust(hspace=0.3, wspace=0.05)

for ax, interp_method in zip(axes.flat, methods):
    ax.imshow(grid, interpolation=interp_method, cmap='viridis')
    ax.set_title(interp_method)

plt.show()