如何规范matplotlib散点图中的颜色映射?

2024-04-18 12:32:18 发布

您现在位置:Python中文网/ 问答频道 /正文

matplotlib documentation详细解释了如何规范化pcolormesh的颜色映射,但如何正确地对散点图进行规范化?

normalize = mcolors.Normalize(vmin=-1, vmax=1)
plt.scatter(x,y,z,cmap=colormap(normalize),marker='*',s=5)

不起作用(TypeError: Cannot cast array data from dtype('O') to dtype('int64') according to the rule 'safe'

只是z数据不完全是从-1到1,我正在绘制多个数据集,它们的范围在正负0.93-98之间,但是我希望颜色集中在0.93,从-1到1,这样我对所有不同的数据集都有相同的参考。

哦,当我不尝试规范化时,我会得到TypeError: scatter() got multiple values for keyword argument 's'。显然我不知道如何在散点图中使用彩色地图。


Tags: to数据matplotlib颜色documentation规范化normalizedtype
1条回答
网友
1楼 · 发布于 2024-04-18 12:32:18

您使用的语法与链接文档中的语法完全不同。规范化散点或pcolor(网格)或任何其他标量可映射对象之间本质上没有区别。

总是这样

colormap = plt.cm.bwr #or any other colormap
normalize = matplotlib.colors.Normalize(vmin=-1, vmax=1)
plt.scatter(x, y, c=z, s=5, cmap=colormap, norm=normalize, marker='*')

相关问题 更多 >