<p>为了重现您的问题,我使用了这段代码,它基本上显示了相同的结果:由于颜色条的原因,右侧的图像略小于左侧的图像</p>
<pre><code>import matplotlib.pyplot as plt
import numpy as np
D2012 = np.random.rand(10, 10)
D2013 = np.random.rand(10, 10)
fig, (ax1, ax2) = plt.subplots(1, 2, figsize = (16,8))
P2012 = ax1.imshow(D2012,
cmap = 'magma')
P2013 = ax2.imshow(D2013,
cmap = 'magma')
ax1.set_title('2012', fontsize = 18)
ax2.set_title('2013', fontsize = 18)
ax1.axis('off')
ax2.axis('off')
plt.colorbar(P2013)
plt.show()
</code></pre>
<p>它给出了这个图:</p>
<p><a href="https://i.stack.imgur.com/5QFLg.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/5QFLg.png" alt="enter image description here"/></a></p>
<p>我解决了这个问题:</p>
<pre><code>import matplotlib.pyplot as plt
import numpy as np
D2012 = np.random.rand(10, 10)
D2013 = np.random.rand(10, 10)
fig, (ax1, ax2) = plt.subplots(1, 2, figsize = (16,8))
ax3 = fig.add_axes([0.85, 0.1, 0.1, 0.8])
P2012 = ax1.imshow(D2012,
cmap = 'magma')
P2013 = ax2.imshow(D2013,
cmap = 'magma')
ax1.set_title('2012', fontsize = 18)
ax2.set_title('2013', fontsize = 18)
ax1.axis('off')
ax2.axis('off')
ax3.axis('off')
plt.colorbar(P2013, ax = ax3)
plt.show()
</code></pre>
<p>它给出了这个图:</p>
<p><a href="https://i.stack.imgur.com/emssy.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/emssy.png" alt="enter image description here"/></a></p>
<p>基本上,我添加了第三个轴,将其关闭并添加到颜色栏。您需要注意第三个轴的位置以及方法中的参数:<code>fig.add_axes([0.85, 0.1, 0.1, 0.8])</code>。<br/>
我知道这肯定不是最优雅的解决方案</p>
<hr/>
<p><strong>编辑</strong></p>
<p>一个更强大、更优雅的解决方案是保留两个轴,但在定义它们时设置它们的大小和位置:</p>
<pre><code>import matplotlib.pyplot as plt
import numpy as np
D2012 = np.random.rand(10, 10)
D2013 = np.random.rand(10, 10)
fig = plt.figure(figsize = (16,8))
ax1 = fig.add_axes([0, 0.2, 0.6, 0.6])
ax2 = fig.add_axes([0.4, 0.2, 0.6, 0.6])
P2012 = ax1.imshow(D2012,
cmap = 'magma')
P2013 = ax2.imshow(D2013,
cmap = 'magma')
ax1.set_title('2012', fontsize = 18)
ax2.set_title('2013', fontsize = 18)
ax1.axis('off')
ax2.axis('off')
plt.colorbar(P2013)
plt.show()
</code></pre>
<p>它给出了这个图:</p>
<p><a href="https://i.stack.imgur.com/tlq5r.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/tlq5r.png" alt="enter image description here"/></a></p>
<p>在这种情况下,您必须注意具有以下线的两个轴的位置和大小:</p>
<pre><code>ax1 = fig.add_axes([0, 0.2, 0.6, 0.6])
ax2 = fig.add_axes([0.4, 0.2, 0.6, 0.6])
</code></pre>