在pylab模式下绘制矩形(add_patch)


问题内容

我在pylab模式下使用IPython(所有功能都在指尖),并想注释某些图,plot([1,3,2])用矩形说Rectangle((1,1),1,1)

我如何在这种pylab模式下绘制一个简单的矩形,即不使用图形,轴,子图…而是以最简单的方式引用刚刚创建的图


问题答案:

在这种pylab模式下,即无需使用图形,轴,子图

pylab框架中也存在图形,轴和子图。如果我使用的是pylab接口,则只需subplot(111)在其中扔一个,然后使用即可sp.add_patch(Rectangle(etc))。但是您也可以使用gca()和来获取当前的轴/图形gcf()

>>> from pylab import *
>>> plot([1,3,2])
[<matplotlib.lines.Line2D object at 0x102bc8950>]
>>> gca()
<matplotlib.axes.AxesSubplot object at 0x102790cd0>
>>> gca().add_patch(Rectangle((1,1),1,1))
<matplotlib.patches.Rectangle object at 0x102790510>
>>> savefig("rect.png")

矩形线

pylab方法非常简单,可以完成非常基本的任务,但无法扩展到更复杂的任务。