<p>我试图用彩色地图绘制一组多边形。我设置了一个ScalarMappable对象并从该ScalarMappable生成多边形颜色,但是当我尝试添加一个colorbar时,我得到了一个错误:</p>
<pre><code>TypeError: You must first set_array for mappable
</code></pre>
<p>“set_array”的文档并没有说明什么,所以我根本不清楚它在做什么,我是否需要给它赋值,如果我这样做了,它们会做什么。</p>
<p>有人能解释一下set_array是做什么的吗?我应该如何处理这个问题?</p>
<pre><code> plt.clf()
fig, ax = plt.subplots(1,1)
# Set color mappable
range_min = df.col1.min()
range_max = df.col1.max()
cmap = matplotlib.cm.ScalarMappable(
norm = mcolors.Normalize(range_min, range_max),
cmap = plt.get_cmap('binary'))
for i in polygonDict.keys():
ax.add_patch(ds.PolygonPatch(polygonDict[i], fc = cmap.to_rgba(df.col1.loc[i])))
fig.colorbar(cmap, ax = ax)
</code></pre>