擅长:python、mysql、java
<p>显然,我自己在挖了一会儿后找到了答案。<code>pcolor</code>提供可选输入<code>vmin</code>和<code>vmax</code>。如果我分别将它们设置为-1和1,它就正好解决了问题。然后,颜色编码似乎与vmin和vmax有关,而不是与绘制的数据的最小值和最大值有关。因此,将plot命令(和注释)更改为</p>
<pre><code># a plot ranging from -1 to 1, where the value 0 is colorcoded in white
ax = fig.add_subplot(1, 2, 1)
plt.pcolor(X, Y, Z, vmin=-1, vmax=1) # vmin, vmax not needed here
plt.colorbar()
# a plot ranging from -0.2 to 0.8, where the value 0 is colorcoded in white
ax = fig.add_subplot(1, 2, 2)
plt.pcolor(X, Y, Z*0.5 + 0.3, vmin=-1, vmax=1) # rescaled Z-Data
plt.colorbar()
</code></pre>
<p>它根据我的需要生成一个图形:<img src="https://i.stack.imgur.com/pQl5E.png" alt="correct figure"/></p>
<p>所以,设置<code>vmin=-1, vmax=1</code>就可以了,我不需要更改颜色映射本身的内容。</p>