<p>您可以看看<a href="https://matplotlib.org/mpl_toolkits/axes_grid/users/overview.html#colorbar-whose-height-or-width-in-sync-with-the-master-axes" rel="nofollow noreferrer">colorbar-whose-height-or-width-in-sync-with-the-master-axes</a>-示例。在</p>
<p>其思想是使用<code>mpl_toolkits.axes_grid1.make_axes_locatable</code>切割一点轴,并使用<code>fig.colorbar(im, cax=cax)</code>创建一个新的轴,在其中可以放置colorbar。在</p>
<pre><code>import numpy as np
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
from mpl_toolkits.axes_grid1 import make_axes_locatable
gs = gridspec.GridSpec(1, 2)
gs0 = gridspec.GridSpecFromSubplotSpec(3, 3, subplot_spec=gs[0])
gs1 = gridspec.GridSpecFromSubplotSpec(2, 2, subplot_spec=gs[1])
fig = plt.figure()
for i in range(9):
ax = fig.add_subplot(gs0[i//3, i%3])
ax.imshow(np.random.rand(4,4))
ax.set_xticks([]); ax.set_yticks([])
for i in range(4):
ax = fig.add_subplot(gs1[i//2, i%2])
im = ax.imshow(np.random.rand(4,4))
ax.set_xticks([]); ax.set_yticks([])
divider = make_axes_locatable(ax)
cax = divider.append_axes("right", size="5%", pad=0.05)
fig.colorbar(im, ax=ax, cax=cax)
plt.show()
</code></pre>
<p><a href="https://i.stack.imgur.com/lQOAL.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/lQOAL.png" alt="enter image description here"/></a></p>