颜色地图是否可以从黑色开始而不是白色?

7

我想要一个分歧的颜色映射,它的中心颜色不是白色(最好是黑色)。似乎matplotlib和cmocean都没有这样的颜色映射。我的最佳选择是创建自己的颜色映射,还是有现成的选择?


1
发散色图的目的是显示与颜色强度相关联的不同数据点。颜色图的中心不应该是黑色,因为这样导致通往中心的颜色会更暗,而最大和最小值会更亮,这是违反直觉的。 - DapperDuck
3
你可以使用seaborn的diverging_palette,例如 cmap = sns.diverging_palette(250, 15, s=75, l=40, n=9, center="dark", as_cmap=True) - JohanC
1
如果您想更改NaN颜色,可以使用以下方法:https://matplotlib.org/api/_as_gen/matplotlib.colors.Colormap.html#matplotlib.colors.Colormap.set_bad - Jody Klymak
2
T先生,我更喜欢使用现有的调色板,因为我相信一个好的、直观的调色板背后有很多深思熟虑的设计。 - blupp
3
黑色为中心的发散性配色方案有其特定用途,例如绘制径向速度图时。离中心越远的值越高,因此应该显示得更加明亮。您不需要关注接近中心的值,因为它们较低,应该显示为暗色。CMasher提供了几种黑色为中心的发散性配色方案,正是基于这个原因。 - 1313e
显示剩余5条评论
2个回答

4

1

@JohanC在他们的评论中提供了一个明显的答案,而我由于接受了需要使用较少知名包的答案而没有看到:

Seaborn支持具有黑色中心的任意分散调色板

hue_neg, hue_pos = 250, 15
cmap = sns.diverging_palette(hue_neg, hue_pos, center="dark", as_cmap=True)

example above in jupyter


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接