Я пытаюсь построить график функции в двухмерной области, используя contourf
. К сожалению, моя первая попытка не удалась. На участке была область, которая неожиданно не была покрыта какими-либо контурами. В целях отладки я свел проблему к наименьшему набору данных, который я могу найти, который также обнаруживает проблему с отсутствующими заполненными контурами:
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
перед построением графика работает нормально.