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为中心并从-1变为1。我对所有各种数据集都有相同的引用。

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

最佳答案

您使用的语法与链接文档中的语法完全不同。标准化散布或pcolor(mesh)或仅其他任何标量可映射对象之间基本上没有区别。

总是如此

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='*')

关于python - 如何在matplotlib散点图中归一化颜色图?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43132300/

10-11 01:30