我有一个二维 numpy 数组,有些值的差异很小,但其他值的差异很大,例如:
[[0.66667, 0.66675, 0.66725, ... , 0.66634],
[0.66377, 0.66634, 0.66280, ... , 0.66172],
... ,
[0.0, 0.0, 0.66536, ... , 0.65523],
[0.0, 0.0, 0.65231, ... , 0.66723]] = M
试过
plt.imshow()
,用vmin
vmax
控制colorbar,还是不能正常显示
我的代码:
def MinMax(M):
NZM = M.nonzero()
bmin =M[NZM].min()
bmax = M.max()
bmax, bmin = format(bmax, '.5f'), format(bmin, '.5f')
bmax = bmax + str(0.00001)
bmin = bmin + str(0.00001)
return bmax, bmin
cmax, cmin = MinMax(M)
plt.imshow(M, origin="lower", vmin=cmin, vmax=cmax)
我想要这样的照片:
附件: 我试着规范化这个数组然后绘制它,但这会导致一些未知的问题并且图片绘制不正确。此外,一些与数据相关的问题也让我无法尝试规范化数据。
我很确定,您不希望 bmin = bmin + str(0.00001)(对于 bmax 也是如此)。它与 bmin /= 100_000 完全相同,这就是为什么你只有 2 种颜色:0 和非零。