У меня проблема с pcolor()
из matplotlib. Я хочу построить патчи, которые имеют четырехугольную форму. (Они имеют неправильную форму, но имеют 4 угла и не перекрываются). Чтобы продемонстрировать мою проблему, вот минимальный код, который производит неожиданное поведение.
import numpy as np
from matplotlib import pyplot as plt
x = [0, 1]
y = [0, 2]
val = [[1]]
xx, yy = np.meshgrid(x, y)
fig, ax = plt.subplots(1, 2, figsize=[10, 10])
ax = plt.subplot(2, 1, 1)
yy[1,0] =2.9
#displays a 1x2 rectangle
ax.pcolor(xx, yy, val, edgecolors='black')
ax = plt.subplot(2, 1, 2)
yy[1,0] =3
#displays the expected 1x3(x2) trapezoid
ax.pcolor(xx, yy, val, edgecolors='black')
plt.show()
(мы ожидаем трапецию с высотой 2,9, но она выводит прямоугольник с 2x1. Второй пример с высотой 3 работает нормально)
Вот вывод
Также при использовании pcolormesh
возникает та же проблема.
Is это баг или я просто слепой?