2015-07-15 2 views
9

Je veux faire quelques tracés 3D pour visualiser certaines données. J'utilise matplotlib mais les fonctionnalités 3D de matplotlib ne sont pas aussi puissantes que le tracé 2D. J'ai trouvé Mayavi très puissant. Même matplotlib le recommande en http://matplotlib.org/mpl_toolkits/mplot3d/faq.htmlTracer des graphiques 3D en Python 3

Cependant, la plupart de mon travail précédent est fait en Python 3, mais MayaVi ne supporte pas encore Python 3.

Comment puis-je tracer des graphiques 3D dans Python 3?

+1

[pyopengl] (http://pyopengl.sourceforge.net/), [pyvtk] (https://pypi.python.org/pypi/PyVTK/) devrait être plus facile à utiliser, mais pas vraiment sûr car je J'utilise 'pyopengl'. – avstenit

+0

J'ai pris la liberté d'éditer une question un peu dans la direction afin que les modérateurs de StackOverflow heureux déclencheurs ne vont pas fermer la question tout de suite et nous pourrions être réellement utiles pour vous ici. –

Répondre

5

VispyVispyVispy est un framework relativement nouveau en développement actif, qui est récemment devenu suffisamment puissant et flexible (dans ses interfaces de haut niveau) pour remplacer ma propre utilisation de mayavi. L'inconvénient est qu'il est un peu plus impliqué pour certaines choses en ce moment, car ce truc de haut niveau est encore en cours de développement. Ayant observé ses progrès pendant un moment, je suis confiant que les problèmes restants seront traités assez rapidement, et je pense qu'il se retrouvera avec une interface robuste similaire à mayavi mais avec des fonctionnalités plus variées qui sont relativement faciles à modifier aux niveaux inférieurs. Ceci est particulièrement en comparaison de mayavi qui a de nombreuses fonctionnalités puissantes, mais que j'ai trouvé relativement difficile à travailler une fois loin des interfaces principales, bien documentées.

J'ai également entendu de bonnes choses sur glumpy et PyQtGraph, mais je n'ai pas essayé ceux-ci. La documentation de Glumpy semble relativement éparse et se concentre sur des opérations de niveau relativement bas par rapport à mayavi, mais ses exemples présentent une large gamme d'effets puissants. PyQTGraph a une interface utilisateur plus sophistiquée (peut-être plus familière si vous aimez les ui de Mayavi, même si ce n'est pas la même chose) et peut-être quelques fonctionnalités de traçage différentes.

Bien sûr, vous pouvez également utiliser opengl directement, mais cela signifie réinventer beaucoup de roues. Si je suis enclin à aller de cette façon, je pense que la vispy (ou peut-être glumpy) est toujours un bon choix, car ses wrappers opengl bas niveau sont bien, mais vous pouvez potentiellement profiter de ses trucs de niveau supérieur.

+0

Il semble que les fonctions de haut niveau de Vispy sont encore en cours de développement et manquent certaines fonctionnalités utiles telles que les axes. Le package visvis est développé par un développeur de vispy. Sa fonction de haut niveau est plus mature que celle de Vispy. – iuradz

+0

Vispy a aussi des caractéristiques qui manquent visvis, et comme il est en développement actif, je l'ai trouvé un meilleur ajustement pour moi. Si vous n'avez pas les mêmes exigences, ce peut être un excellent choix. – inclement