我想在Matplotlib中的坐标轴内渲染一个矩形。该坐标轴是以左下角为原点的单位正方形。如果矩形与坐标轴大小相同,则希望矩形看起来像是坐标轴的边框。
问题在于它似乎渲染不正确。矩形的左侧(x=0)和顶部(y=1)会被渲染,但底部(y=0)和右侧(x=1)不会显示出来。
注意:这不仅针对矩形,对于线条也是如此。渲染结果如下图所示:
以下代码演示了该问题:
问题在于它似乎渲染不正确。矩形的左侧(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并验证了其正确性(例如,当放大时,所有边缘都存在)。
这似乎与底层图像如何被光栅化到屏幕上有关。有没有解决此问题的方法?