2011-03-12 15 views
19

Creo que debería comenzar esta pregunta mencionando que soy un ingeniero químico y no un programador capacitado (pero estoy dispuesto a aprender).¿Cómo puedo crear una interfaz para matplotlib?

Procedo una gran cantidad de espectros, que son esencialmente archivos ASCII con coordenadas x, y producidas por un software espectrómetro específico. Un software estándar utilizado para el análisis es Origin desde Originlab, pero me parece que no es fácil de usar, tiene muchas más funciones de las que necesito y no es gratuito.

Así que estaba esperando que haya una manera de desarrollar una interfaz para matplotlib que permita usar matplotlib con una GUI. Quiero poder leer y trazar los datos de los archivos ASCII, acercar y alejar la trama, invocar los scripts para cosas como detección de picos y funciones de ajuste donde los parámetros específicos de la función pueden ingresarse en la GUI.

Estoy simplemente desconcertado por dónde empezar, por lo que la pregunta es realmente: ¿Cuál es la forma más fácil de desarrollar una interfaz/interfaz gráfica de usuario para matplotlib que me permite programar las cosas que mencioné anteriormente? Además, en última instancia, una aplicación multiplataforma sería agradable porque muchos en mi grupo trabajan en Windows.

+1

Hola, me gustaría saber si tuvo éxito al construir nada. Estoy en camino construyendo una pequeña herramienta GUI para que un amigo cargue datos de los aparatos de medición, muestre un gráfico, ingrese algunos parámetros del usuario, aplique el algoritmo de ajuste de curva y luego exporte los datos. Tal vez mi trabajo pueda ser de alguna utilidad para ti. Si desea contactarme, puede encontrar mi correo electrónico en mi página de perfil. – Ski

Respuesta

0

No estoy muy seguro de lo que estás preguntando. Matplotlib ya tiene una GUI interactiva, si la llamas desde el shell de Python o ipython, por ejemplo. Usted lee o construye sus datos, y cuando llama al plot(), obtiene una ventana con zoom, desde la cual puede guardar una imagen, etc.

Puede escribir sus propias rutinas para cosas como la detección de picos, y simplemente llamarlas interactivamente desde la terminal. Al final del día, siempre que su función produzca un conjunto de (x, y) datos, puede trazarlos de manera interactiva. La experiencia entonces es bastante parecida a Matlab. Esta es la forma en que la mayoría de los científicos que conozco usan matplotlib.

Definitivamente intentaré experimentar con este enfoque primero, y ver si puede satisfacer sus necesidades, antes de considerar cualquier tipo de programación de GUI, especialmente si no es un programador por capacitación.

+2

Gracias por su respuesta. Uso matplotlib en la terminal, pero la pregunta era ¿puedo construir una GUI que no requiera que use una terminal? Esto es lo que encontré hace apenas un minuto y parece casi lo que estoy buscando http://github.enthought.com/chaco/user_manual/tutorial_2.html –

Cuestiones relacionadas