不均匀分布图像
这说明了非统一图像类。它不是通过AXES方法提供的,但是可以很容易地将它添加到AXIS实例中,如下所示。

import numpy as npimport matplotlib.pyplot as pltfrom matplotlib.image import NonUniformImagefrom matplotlib import cminterp = 'nearest'# Linear x array for cell centers:x = np.linspace(-4, 4, 9)# Highly nonlinear x array:x2 = x**3y = np.linspace(-4, 4, 9)z = np.sqrt(x[np.newaxis, :]**2 + y[:, np.newaxis]**2)fig, axs = plt.subplots(nrows=2, ncols=2, constrained_layout=True)fig.suptitle('NonUniformImage class', fontsize='large')ax = axs[0, 0]im = NonUniformImage(ax, interpolation=interp, extent=(-4, 4, -4, 4),cmap=cm.Purples)im.set_data(x, y, z)ax.images.append(im)ax.set_xlim(-4, 4)ax.set_ylim(-4, 4)ax.set_title(interp)ax = axs[0, 1]im = NonUniformImage(ax, interpolation=interp, extent=(-64, 64, -4, 4),cmap=cm.Purples)im.set_data(x2, y, z)ax.images.append(im)ax.set_xlim(-64, 64)ax.set_ylim(-4, 4)ax.set_title(interp)interp = 'bilinear'ax = axs[1, 0]im = NonUniformImage(ax, interpolation=interp, extent=(-4, 4, -4, 4),cmap=cm.Purples)im.set_data(x, y, z)ax.images.append(im)ax.set_xlim(-4, 4)ax.set_ylim(-4, 4)ax.set_title(interp)ax = axs[1, 1]im = NonUniformImage(ax, interpolation=interp, extent=(-64, 64, -4, 4),cmap=cm.Purples)im.set_data(x2, y, z)ax.images.append(im)ax.set_xlim(-64, 64)ax.set_ylim(-4, 4)ax.set_title(interp)plt.show()
