我有一个数组 A,我使用 X 和 Y 作为坐标轴在等高线图中绘制了该数组,
plt.contourf(X,Y,A)
问题是,A 中的值从 1 到非常大的数字不等,导致色标无法显示绘图。当我绘制 log(A) 时,我得到以下轮廓,
这就是我正在寻找的。但当我将光标悬停在某个 (X,Y) 点上时,我希望能够查看数组 A 的值,而不是 log(A)。我已经得到了如何做到这一点的答案,但是当我的色标保持对数时,我该如何去做呢?基本上我想做的是使色标遵循对数模式,而不是数组值本身。
非常感谢!
最佳答案
你可以这样做:
from matplotlib import colors
plt.contourf(X, Y, A, norm=colors.LogNorm())
plt.colorbar()
plt.show()
或
from matplotlib import ticker
plt.contourf(X, Y, A, locator=ticker.LogLocator())
plt.colorbar()
plt.show()
关于python - 设置色标以记录等值线图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38585876/