0

使用 matplotlibs scatter 函数时,用颜色显示数据非常简洁:

data = np.random.random((3, 10))
scatter = plt.scatter(data[0], data[1], c=data[2], cmap='Viridis')

这将自动映射data[2]到传达信息的色谱。在 scatter 函数之外有没有很好的方法来做到这一点?我问这个的原因之一是因为我稍后会尝试更改颜色。这里有一个关于它的问题,但我意识到这将使用旧数组的规范化。

假设我想更改映射为颜色的数组:

new_colors = 10 * np.random.random(10)
scatter.set_array(new_colors)

这将使几乎所有点都成为最亮的颜色,而不是选择合适的新颜色范围。有没有办法绕过这个?或者,我可以很好地从中制作一个颜色数组,然后将其传递给scatter.set_color()

4

0 回答 0