python - 设置色标以记录等值线图

标签 python matplotlib

我有一个数组 A,我使用 X 和 Y 作为坐标轴在等高线图中绘制了该数组,

plt.contourf(X,Y,A)

Contour plot of A

问题是,A 中的值从 1 到非常大的数字不等,导致色标无法显示绘图。当我绘制 log(A) 时,我得到以下轮廓,

Contour plot of 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/

相关文章:

Python正则表达式查找两个子字符串之间的所有字符串

python - 基于多索引比较选择行

Python Wave 库字符串到字节

python - matplotlib.pyplot 不会忘记以前的图 - 我如何刷新/刷新?

python - 从列表创建 matplotlib 3D 曲面图

python - 如何绘制按子索引对齐的 Pandas 数据框列?

python - 在 Python Matplotlib 中更改 3D 曲面图中的网格线粗细

python - 如何在 pyqt4 中使用 qss?

python - 绘制投影数据时的 Cartopy 行为

python fabric 如何在远程机器上启动进程