我正在尝试使用contourf
在2D域上绘制函数图。不幸的是,我的第一次尝试效果不佳。情节中有一个区域出乎意料地没有被任何轮廓覆盖。出于调试目的,我将问题缩小为可以找到的最小数据集,这也揭示了缺少填充轮廓的问题:
import matplotlib.pyplot as plt
import numpy as np
v = np.array([0, 1, 2, 3])
x, y = np.meshgrid(v, v)
z = np.array([[5.5e-14, 5.5e-14, 5.5e-14, 5.5e-14],
[2e-13, 2e-13, 2e-13, 2e-13],
[2.2e-13, 2.2e-13, 2.2e-13, 2.2e-13],
[0, 0,0, 0]])
fig, ax = plt.subplots()
cntr = ax.contourf(x, y, z)
fig.colorbar(cntr, ax=ax)
plt.show()
这给出了下面的图:
如您所见,从y = 1.5
到大约y=2.0
缺少轮廓。
我观察到的另一件奇怪的事情:如果我将z
矩阵乘以例如1e14
,然后再绘制即可。