2009-09-09 28 views
29

Tengo funciones que contribuyen a pequeñas partes de una generación de figuras. Estoy tratando de usar estas funciones para generar varias figuras? Así que algo como esto:Python con matplotlib - dibujo de varias figuras en paralelo

  1. trabajo con la Figura 1
  2. hacer otra cosa
  3. trabajo con la Figura 2
  4. hacer otra cosa
  5. trabajo con la Figura 1
  6. hacer otra cosa
  7. trabajar con la figura 2

¡Si alguien pudiera ayudar, sería genial!

Respuesta

33

Hay varias formas de hacerlo, y la más sencilla es utilizar los números de las figuras. El siguiente código hace dos figuras, # 0 y # 1, cada una con dos líneas. # 0 tiene los puntos 1,2,3,4,5,6, y # 2 tiene los puntos 10,20,30,40,50,60.

from pylab import * 

figure(0) 
plot([1,2,3]) 

figure(1) 
plot([10, 20, 30]) 

figure(0) 
plot([4, 5, 6]) 

figure(1) 
plot([40, 50, 60]) 

show() 
+4

Esa es la interfaz de estilo pylab "state machine". Una mejor opción para el desarrollo de software serio es utilizar el modo orientado a objetos donde se tienen objetos de figuras que contienen objetos de ejes cuyos métodos de trazado llaman. Pero el enfoque pylab es mucho más simple para el uso interactivo de línea de comandos. –

+0

¡Ah, ja! Pero la segunda vez que se refiere a la figura, ¿no necesita usar las variables "ax"? – aspade

+0

Tengo una pregunta de seguimiento [aquí] (http://stackoverflow.com/questions/1413681/python-with-matplotlib-reusing-drawing-functions) – aspade

6

Para una respuesta más general a esta pregunta y pregunta que pueda tener pronto, yo recomendaría el official tutorial.

+0

Gracias por el enlace. – aspade

0

La mejor manera de mostrar varias figuras es usar matplotlib o pylab. (para Windows) con matplotlib puede preparar las figuras y luego, cuando termine el proceso con ellas, puede mostrar con el comando "matplotlib.show()" y se deben mostrar todas las figuras.

(en Linux) no tiene problemas para agregar cambios a las cifras porque el modo interactivo está habilitado (en Windows, el modo interactivo no funciona bien).

+3

No estoy seguro de que esté respondiendo la pregunta aquí. – Matthew

Cuestiones relacionadas