Я хочу визуализировать прямоугольник в пределах осей в matplotlib.Оси - это единичный квадрат с началом координат в нижнем левом углу.Для случая, когда прямоугольник имеет тот же размер, что и оси, я хочу, чтобы прямоугольник отображался так, как если бы он был границей осей.
Проблема заключается в том, что кажется, что рендеринг неверный.Отрисовываются левый (x = 0) и верхний (y = 1) прямоугольника, но нижний (y = 0) и правый (x = 1) не отображаются.
Примечание. Это относится не только к прямоугольникам, но и к линиям.Результирующий рендеринг выглядит так:
Следующий фрагмент кода демонстрирует проблему:
import matplotlib.pyplot as mpl
r = mpl.Rectangle((0,0), 1, 1, edgecolor='red', facecolor='none', zorder=100)
axes = mpl.gca()
axes.add_patch(r)
axes.set_xbound(0, 1)
axes.set_ybound(0, 1)
axes.get_xaxis().set_visible(False)
axes.get_yaxis().set_visible(False)
[spine.set_visible(False) for spine in axes.spines.values()]
mpl.show()
Я также отрисовал в PDF и убедился, что это работает правильно(например, при наличии увеличения со всех сторон).
Это, по-видимому, связано с тем, как базовое изображение растеризуется на экран.Есть ли способ обойти эту проблему?