Python 将数据转换为散点图等颜色

Python 将数据转换为散点图等颜色,python,matplotlib,scatter-plot,color-mapping,matplotlib-animation,Python,Matplotlib,Scatter Plot,Color Mapping,Matplotlib Animation,使用matplotlibs散射函数时,使用颜色显示数据非常简洁: data = np.random.random((3, 10)) scatter = plt.scatter(data[0], data[1], c=data[2], cmap='Viridis') 这将自动将数据[2]映射到传递信息的颜色光谱。在散射函数之外有没有一个很好的方法? 我问这个问题的一个原因是因为我试图在以后更改颜色。有一个问题,但我意识到这将使用旧数组的归一化 假设我要更改映射为颜色的数组: new_colors

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

data = np.random.random((3, 10))
scatter = plt.scatter(data[0], data[1], c=data[2], cmap='Viridis')
这将自动将
数据[2]
映射到传递信息的颜色光谱。在散射函数之外有没有一个很好的方法? 我问这个问题的一个原因是因为我试图在以后更改颜色。有一个问题,但我意识到这将使用旧数组的归一化

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

new_colors = 10 * np.random.random(10)
scatter.set_array(new_colors)
这将使几乎所有点成为最亮的颜色,而不是选择合适的新颜色范围。
有没有办法避免这种情况?或者,我可以很好地从这个数组中创建一个colorarray,然后将它传递给scatter.set_color()

你有什么理由不使用新值重新散射吗?plt.scatter(data[0],data[1],c=new_colors,cmap='Viridis')@YohaiMagan要创建动画,
set_array
通常很有帮助。请看@YohaiMagan,我想这比升级动画要花相当长的时间values@JohanC我想这是最好的解决办法了吧?