matplotlib gráficos interactivos (dibujar líneas manualmente en un gráfico)
He trazado con éxito un conjunto de datos secuenciados por fecha (el eje X es la fecha) usando matplotlib. Sin embargo, quiero podera man dibuje líneas de una (fecha1, y1) a otra (fecha2, y2) en el gráfico trazado.
Parece que no puedo encontrar ningún ejemplo que muestre cómo hacer esto, o incluso si es posible.
Para resumir, esto es lo que quiero hacer:
Dibuje un conjunto de líneas en el gráfico trazadoGuarde los datos de línea dibujados manualmente para archivar Cargue los datos de línea dibujados manualmente desde el archivo (para recrear el gráfico)dealmente, me gustaría almacenar 'metadatos' sobre las líneas dibujadas (por ejemplo, color, ancho de línea, etc.)Puede alguien publicar un fragmento de esqueleto (preferiblemente con enlaces a más información), para mostrar cómo puedo comenzar a implementar esto (los requisitos principales son la capacidad de dibujar líneas manualmente en un gráfico y luego guardar / cargar las líneas en un trama)
Nota Por 'manualmente', quiero decir poder dibujar las líneas haciendo clic en un punto y luego haciendo clic en otro punto en el gráfico trazado. para dibujar una línea entre los dos puntos (o simplemente hacer clic en un punto y arrastrar y soltar el mouse en otro punto del gráfico trazado)
[[Actualizar]
dawe, muchas gracias por el fragmento que proporcionó. Esto me permite hacer lo que intento hacer; sin embargo, tan pronto como se dibuja la línea en el lienzo (después del segundo clic del mouse), la GUI se bloquea y recibo este mensaje de advertencia en la consola:
/usr/local/lib/python2.6/dist-packages/matplotlib/backend_bases.py:2192: DeprecationWarning: Using default event loop until function specific to this GUI is implemented
warnings.warn(str,DeprecationWarning)
¿Sabe qué está causando esta advertencia y la finalización abrupta del programa?
Además, ¿es posible dibujar más de una línea en el gráfico? (Supongo que esto implicará escribir algún tipo de controlador de eventos que creará una instancia de una variable de línea alineada). Por el momento, tengo la oportunidad de dibujar solo una línea antes de que la 'aplicación' finalice abruptamente.