Вопрос по python – Рисование прямоугольника (add_patch) в режиме Pylab

10

Я использую IPython в режиме Pylab (все функции в кончике пальца), и хотел аннотировать определенный сюжет, скажем,plot([1,3,2]) с прямоугольникомRectangle((1,1),1,1)

Как я могу нарисовать простой прямоугольник в этом режиме, то есть без использования фигуры, осей, вспомогательных участков ... но ссылаться на только что созданный график самым простым способом

Ваш Ответ

1   ответ
17

Фигуры, оси и подзаговоры существуют и в структуре 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")

line with rectangle

Подход Pylab достаточно прост для самых базовых задач, но не масштабируется до более сложных.

Я не знал о gca (). Спасибо за чаевые vlad

Похожие вопросы