Matplotlib颜色梯度基于y值

时间:2016-11-29 13:42:13

标签: python matplotlib colormap

我想通过热图绘制“剪切”,即根据y值(plt.plot(x,y)范围内的-0.5,0.5应用颜色渐变。

有什么建议吗?我尝试使用散点图解决方法,但色彩图似乎单独应用于每一行(而不是全局)。

谢谢!

修改 用其他术语来描述它:我想将间隔中的每个y值映射到我的色彩映射中的适当颜色。 (短语'cut through heat map'仅指用于将给定x和y的函数z=f(x,y)的z值映射到颜色的常用技术。)

正如前面已经提到的,只是将颜色贴图应用于散点图似乎将每条线的最大y值(如我正在绘制多个系列)映射为白色,如附件中所示。相反,我想将我的绘图中的全局y = 0.5映射为白色,并将每行的-0.5映射为黑色。

Example

1 个答案:

答案 0 :(得分:1)

原来我需要使用

来规范化我的色彩映射
norm = colors.Normalize(vmin=-min, vmax=max)

然后拨打plt.scatter(x, y, c=y, norm=norm, …)