2012-05-19 27 views
9

estoy usando IPython en modo pylab (todas las funciones en la yema del dedo), y quería anotar cierta trama, digamos plot([1,3,2]) con un rectángulo Rectangle((1,1),1,1)Dibujar rectángulo (add_patch) en el modo de pylab

¿Cómo se dibuja un rectángulo sencillo en este modo pylab, es decir, sin el uso de la figura, ejes, subtramas ... pero la referencia simplemente trama creada en más fácil manera posible

Respuesta

16

en este modo pylab, es decir, sin el uso de la figura, los ejes, los argumentos secundarios

Las figuras, los ejes y las subparcelas también existen en el marco de Pylab. Si estuviera usando la interfaz de Pylab, simplemente lanzaría un subplot(111) allí y luego usaría sp.add_patch(Rectangle(etc)). Pero también se puede agarrar los ejes de corriente/figura usando gca() y 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

El enfoque pylab es lo suficientemente simple para tareas muy básicas, pero no escala así hasta los más complejos a .

+0

No sabía acerca de gca(). Gracias por el consejo – vlad

Cuestiones relacionadas