1
我想在matplotlib的轴中渲染一个矩形。坐标轴是原点位于左下角的单位正方形。对于矩形与轴的大小相同的情况 - 我希望矩形看起来好像它是轴的边界一样。在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和验证,这正常工作(例如,在各方的放大时存在)。
这看似与底层图像如何被栅格化到屏幕上有关。有没有解决这个问题的方法?
感谢乔。您的解决方案很有意义并解决了我的问题。但是这确实需要另外两个问题。这是我back_end中的错误吗?似乎是。其次,与裁剪打开或关闭有什么区别?削减效率低一点的绘图?我只问,因为我正在做很多动画。 – Rocketman
@Rocketman - 我不确定这是否是一个错误。你可以在用户名单上询问,并且可能会得到比我可以给你更好的答案。至于第二:我不认为(??)这个剪辑会在简单情况下影响动画的速度。 (如果你还没有使用blitting,那么在matplotlib页面上有几个教程。) –