python - 如何在 matplotlib 散点图中标准化颜色图?

标签 python matplotlib colormap

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

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

不起作用(TypeError:无法根据规则“安全”将数组数据从 dtype('O') 转换为 dtype('int64'))

只是 z 数据并不完全从 -1 到 1,我正在绘制多个数据集,这些数据集的限制在 +/- 0.93 - 98 左右,但我希望颜色以零为中心并从 -1 开始到 1,这样我对所有不同的数据集都有相同的引用。

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

最佳答案

您使用的语法与链接文档中的语法完全不同。标准化散点图或 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='*')

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

相关文章:

python - 如何使用 Dask 从谷歌云存储中读取多个大型 CSV 文件的 block ,而不会使内存一次性重载

python - 无法在 os x terminal.app 的 python 中解码 utf-8 字符串

python - 使用python matplotlib时如何避免 "suptitle"和 "subplots"之间的重叠?

python - 从具有多个数据集的散点图中获取 x,y?

python - 使用 tab* 内置元素在 matplotlib 中组成颜色图

python - 将唯一分层列拆分为更多列

python - 使用 python 逐文本比较两个不同的文件

python - 为什么将输入更改为matplotlib的Axes3D.plot()和.scatter()方法的行为有所不同?

python - 将 matplotlib 颜色图集中在特定值上

具有自定义元素数量的 MATLAB 命名颜色图