基于 y 值的 Matplotlib 颜色渐变
Matplotlib Color Gradient based on y-value
我想通过热图绘制 "cut",即根据 y 值(在 -0.5,0.5
.
有什么建议吗?我尝试通过使用散点图来解决问题,但颜色图似乎单独应用于每一行(而不是全局)。
谢谢!
编辑
用其他术语来描述它:我想将区间中的每个 y 值映射到我的颜色图中的适当颜色。 (短语 'cut through heat map' 仅指将给定 x 和 y 的函数 z=f(x,y)
的 z 值映射到颜色的常用技术。)
如前所述,仅将颜色图应用于散点图似乎将每条线的最大 y 值(因为我正在绘制多个系列)映射到白色,如附件所示。相反,我想将我情节中的全局 y=0.5 映射到每一行的白色和 -0.5 到黑色。
原来我需要使用
来规范化我的颜色图
norm = colors.Normalize(vmin=-min, vmax=max)
然后调用plt.scatter(x, y, c=y, norm=norm, …)
.
我想通过热图绘制 "cut",即根据 y 值(在 -0.5,0.5
.
有什么建议吗?我尝试通过使用散点图来解决问题,但颜色图似乎单独应用于每一行(而不是全局)。
谢谢!
编辑
用其他术语来描述它:我想将区间中的每个 y 值映射到我的颜色图中的适当颜色。 (短语 'cut through heat map' 仅指将给定 x 和 y 的函数 z=f(x,y)
的 z 值映射到颜色的常用技术。)
如前所述,仅将颜色图应用于散点图似乎将每条线的最大 y 值(因为我正在绘制多个系列)映射到白色,如附件所示。相反,我想将我情节中的全局 y=0.5 映射到每一行的白色和 -0.5 到黑色。
原来我需要使用
来规范化我的颜色图norm = colors.Normalize(vmin=-min, vmax=max)
然后调用plt.scatter(x, y, c=y, norm=norm, …)
.