2011-05-25 25 views
11

Tanto Matlab como Mathematica tienen características que permiten al usuario manipular el contenido de un diagrama utilizando, por ejemplo, un control deslizante. Por ejemplo, si tiene un conjunto de datos 3D, es fácil crear un pequeño programa que le permita ver divisiones en 2D de un conjunto de datos 3D donde el usuario puede deslizar un control deslizante para moverse a través de qué sector se muestra. ¿Hay algo en Python que permita este tipo de capacidad sin toneladas de esfuerzo? Por ejemplo, ¿es posible hacer tal cosa en matplotlib, o algo similar? Itrazado interactivo en Python?

Gracias.

Respuesta

5

Mi primer pensamiento fue Mayavi, que es ideal para la visualización de datos, especialmente en 3D. Se basa en VTK. Se incluye en la versión con sabor Enthought de Python, junto con Chaco para trazado en 2D. Para tener una idea, mira el lindo screencast de Travis Vaught en Multidimensional Data Visualization in Python - Mixing Chaco and Mayavi.

También es posible incorporar funcionalidades básicas interactivas (como el control deslizante) a Matplotlib, ver matplotlib.widgets y los ejemplos de widgets.

Finalmente, puede usar rpy (o mejor, rpy2) y beneficiarse de la interfaz R.

+0

Esto parece bastante prometedor, gracias. – Chironex

+0

Además de estos, IPython ahora tiene nuevas capacidades de trazado interactivo. (¡Mira la versión 2.1!) – daviewales

1

¿Has mirado a Vtk? http://www.vtk.org/ Uno de sus demos hace exactamente lo que estás preguntando.

1

En principio, puede hacerlo con ayuda de MathGL. Esta es la biblioteca GPL multiplataforma para el trazado.

Para cada clic del mouse, puede encontrar la posición x, y, z en la gráfica o el objeto cliqueado y ajustar (repicar) otra información correspondiente. Sin embargo, debe manejar los clics del mouse por su cuenta (por ejemplo, usando PyQt).

1

Otra opción es utilizar pitón dentro de la interfaz de cómputo SAGE/medio ambiente, que tiene el comando @interact (ver here para obtener ayuda específica acerca de este comando)

Cuestiones relacionadas