设置色标以记录轮廓p

2024-07-03 06:08:14 发布

您现在位置:Python中文网/ 问答频道 /正文

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

plt.contourf(X,Y,A)

Contour plot of A

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

Contour plot of log(A)

这就是我要找的。但是当我将光标悬停在某个(X,Y)点上时,我希望能够查看数组A的值,而不是log(A)。我已经得到了一个如何做到这一点的答案,但是当我的色阶保持原样的时候,我该怎么做呢?基本上,我要做的是使色阶遵循对数模式,而不是数组值本身。在

非常感谢!在


Tags: 答案log绘图模式绘制对数plt数字
2条回答

在一个scatter图中对颜色进行缩放时,已经提出了一个类似的问题:A logarithmic colorbar in matplotlib scatter plot

正如这里所指出的,matplotlibs文档中有一篇文章描述了colormaps的规范:http://matplotlib.org/devdocs/users/colormapnorms.html

实际上,您可以通过添加关键字, norm=matplotlib.colors.LogNorm()来设置轮廓图的规范

您可以这样做:

from matplotlib import colors
plt.contourf(X, Y, A, norm=colors.LogNorm())
plt.colorbar()
plt.show()

或者

^{pr2}$

相关问题 更多 >