<p><code>plt.imshow</code>有一个参数<code>extent=[x0, x1, y0, y1]</code>,可以将图像定位到绘图中的任何位置。恼人的是<code>imshow</code>强制纵横比“相等”(因此x和y中的距离被强制为相同数量的像素)。更令人恼火的是<code>imshow</code>还强制设置x和y的限制。要有多个映像,需要显式设置限制(晚于对<code>imshow</code>的调用)。如果不需要“相等”的纵横比(图像通常需要<em>的纵横比)<code>set_aspect('auto')</code>再次释放纵横比</p>
<p>下面是一个示例,使用不同的颜色贴图可以获得不同颜色的图像</p>
<pre class="lang-py prettyprint-override"><code>import matplotlib.pyplot as plt
import numpy as np
fig, ax = plt.subplots()
cmaps = ['Greys', 'Purples', 'Blues', 'Greens', 'Oranges', 'Reds',
'YlOrBr', 'YlOrRd', 'OrRd', 'PuRd', 'RdPu', 'BuPu',
'GnBu', 'PuBu', 'YlGnBu', 'PuBuGn', 'BuGn', 'YlGn']
img = ((np.arange(100) % 10) * np.arange(100)).reshape(10, 10)
cols = 4
for i, cmap in enumerate(cmaps):
plt.imshow(img, extent=[i % cols, i % cols +1, i // cols, i // cols +1], cmap=cmap)
plt.xlim(0, cols)
plt.ylim(0, (len(cmaps) - 1) // cols + 1)
plt.gca().set_aspect('auto') # allow a free aspect ratio, to fully fit the plot figure
plt.show()
</code></pre>
<p><a href="https://i.stack.imgur.com/JjG5h.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/JjG5h.png" alt="example plot"/></a></p>