我想指定一个在特定值处具有离散级别的颜色贴图,但也要指定cmap的中心对齐的位置
frac_levels = [0, 0.1, 0.2, 0.5, 0.75, 1.0, 2.0, 3.0, 5.0, 7.0, 10.0]
frac_norm = colors.BoundaryNorm(boundaries=frac_levels, ncolors=256)
这给了我一个在0、0.1等处具有离散边界的彩色贴图
如果我使用RedBu或任何发散的颜色贴图,1.0恰好位于中间
但是,如果我的级别更改为:
frac_levels = [0, 0.25, 0.5, 0.75, 1.0, 2.0, 3.0, 5.0, 7.0, 10.0, 15.0]
frac_norm = colors.BoundaryNorm(boundaries=frac_levels, ncolors=256)
我仍然希望1在彩色地图的中间,但是2现在在中心。我可以使用colors.DivergingNorm(vmin=0., vcenter=1.0., vmax=15)
或类似的方法来定义中点,但它是一个连续的颜色映射,不再是我想要的离散边界有没有办法将这两种归一化方法结合起来
编辑:我可能会制作一个完全定制的颜色图,只包含我想要的颜色,但这似乎不是一个很好的解决方案,每次我的值改变时都需要定制
目前没有回答
相关问题 更多 >
编程相关推荐