You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在使用PowerNorm归一化时,让色条颜色压缩但刻度保持等距?

解决方案:自定义色条刻度与归一化结合

要实现用PowerNorm的颜色映射逻辑,同时让色条刻度保持等距,可以在创建色条时手动指定等距刻度,让这些刻度对应归一化后的颜色值,具体实现如下:

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.colors import PowerNorm

x, _ = np.meshgrid(*2*(np.linspace(-1, 1, 100),))

# 应用PowerNorm归一化,同时自定义色条等距刻度
plt.subplot(121)
norm = PowerNorm(gamma=4, vmin=-1, vmax=1)
im = plt.imshow(x, norm=norm)
# 设置与右侧子图一致的等距刻度
ticks = np.linspace(-1, 1, 5)
plt.colorbar(im, ticks=ticks)

# 原始无归一化对比图
plt.subplot(122)
plt.imshow(x)
plt.colorbar()

plt.show()

效果说明

  • 左侧子图的图像显示完全遵循PowerNorm(gamma=4)的数值-颜色映射规则,和原左图的视觉效果一致;
  • 色条采用了和右侧子图相同的等距刻度,刻度分布均匀;
  • 由于归一化的作用,色条的颜色会向数值分布的一端压缩,同时刻度保持等距排列,完美满足需求。

内容的提问来源于stack exchange,提问作者flawr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 00:20:30