擅长:python、mysql、java
<p>这可能太晚了,但我今天碰到了同样的问题。</p>
<p>据我所知,imshow()和scatter()创建了一个可映射对象,以便在两步过程中从浮点值转换为颜色。首先将浮点数映射到范围0..1,然后在颜色映射中查找该标准化数字的相应RGB。</p>
<p>像PolygonPatch这样的艺术家不会创建这个可映射的,所以您需要自己使用colorbabase()来创建它</p>
<p>这就是我最后做的。</p>
<pre><code>def createColourbar(lwr, upr):
"""Create a colourbar with limits of lwr and upr"""
cax, kw = matplotlib.colorbar.make_axes(mp.gca())
norm = matplotlib.colors.Normalize(vmin = lwr, vmax = upr, clip = False)
c = matplotlib.colorbar.ColorbarBase(cax, cmap=mp.spectral(), norm=norm)
return c
</code></pre>