擅长:python、mysql、java
<p>在这段代码中有一个隐含的假设,即唯一类别的数量是10或更少,因为<code>tab10</code>colormap只有10种颜色。尽管如此,在这种情况下,我们可能不会使用从0到1的均匀分布的浮点值来调用colormap,如果只有一个类别,它也会失败</p>
<p>相反,如果颜色数较少,可以选择像<code>tab10</code>这样的“分类”颜色映射,否则可以选择颜色较多的颜色映射</p>
<pre><code>categories = np.unique(data)
if len(categories) <= 10:
colors = plt.cm.tab10(np.arange(len(categories)))
else:
colors = plt.cm.viridis(np.linspace(0, 1, len(categories)))
</code></pre>