不均匀分布图像

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

图像掩码示例

  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. from matplotlib.image import NonUniformImage
  4. from matplotlib import cm
  5. interp = 'nearest'
  6. # Linear x array for cell centers:
  7. x = np.linspace(-4, 4, 9)
  8. # Highly nonlinear x array:
  9. x2 = x**3
  10. y = np.linspace(-4, 4, 9)
  11. z = np.sqrt(x[np.newaxis, :]**2 + y[:, np.newaxis]**2)
  12. fig, axs = plt.subplots(nrows=2, ncols=2, constrained_layout=True)
  13. fig.suptitle('NonUniformImage class', fontsize='large')
  14. ax = axs[0, 0]
  15. im = NonUniformImage(ax, interpolation=interp, extent=(-4, 4, -4, 4),
  16. cmap=cm.Purples)
  17. im.set_data(x, y, z)
  18. ax.images.append(im)
  19. ax.set_xlim(-4, 4)
  20. ax.set_ylim(-4, 4)
  21. ax.set_title(interp)
  22. ax = axs[0, 1]
  23. im = NonUniformImage(ax, interpolation=interp, extent=(-64, 64, -4, 4),
  24. cmap=cm.Purples)
  25. im.set_data(x2, y, z)
  26. ax.images.append(im)
  27. ax.set_xlim(-64, 64)
  28. ax.set_ylim(-4, 4)
  29. ax.set_title(interp)
  30. interp = 'bilinear'
  31. ax = axs[1, 0]
  32. im = NonUniformImage(ax, interpolation=interp, extent=(-4, 4, -4, 4),
  33. cmap=cm.Purples)
  34. im.set_data(x, y, z)
  35. ax.images.append(im)
  36. ax.set_xlim(-4, 4)
  37. ax.set_ylim(-4, 4)
  38. ax.set_title(interp)
  39. ax = axs[1, 1]
  40. im = NonUniformImage(ax, interpolation=interp, extent=(-64, 64, -4, 4),
  41. cmap=cm.Purples)
  42. im.set_data(x2, y, z)
  43. ax.images.append(im)
  44. ax.set_xlim(-64, 64)
  45. ax.set_ylim(-4, 4)
  46. ax.set_title(interp)
  47. plt.show()

下载这个示例