Python & Matplotlib: Faire de la 3D de la parcelle interactive dans Jupyter Portable
- Je utiliser Jupyter ordinateur Portable pour réaliser l'analyse des ensembles de données. Il y a beaucoup de parcelles dans le cahier, et certains d'entre eux sont en 3d parcelles.
Je me demandais si il est possible de faire le graphique 3d interactives, de sorte que je peux jouer plus tard avec plus de détails?
On peut peut-être ajouter un bouton sur elle? En cliquant dessus, il peut sortir un graphique 3d et les gens peuvent zoom, panoramique, rotation etc.
Mon thougths:
1. matplotlib, %qt
Cela ne correspond pas à mon cas, car j'ai besoin de continuer parcelle après le graphique 3d. %qt
d'interférer avec plus tard parcelles.
2. mpld3
mpld3
est presque l'idéal dans mon cas, pas besoin de réécrire quoi que ce soit, compatible avec matplotlib. Toutefois, il n'support graphique 2D. Et je ne vois pas de plan de travail sur la 3D (https://github.com/mpld3/mpld3/issues/223).
3. bokeh + visjs
N'ai pas trouvé réellement exemple de graphique 3d dans bokeh
galerie. Je ne trouve https://demo.bokehplots.com/apps/surface3d, qui utilise visjs
.
4. Javascript graphique 3D?
Depuis ce que j'ai besoin est juste de la ligne et surce, est-il possible de transmettre les données à js de la parcelle à l'aide de js dans le navigateur pour en faire interacive? (Puis on peut avoir besoin d'ajouter d'axe 3d ainsi.) Cela peut être semblable à visjs
, et mpld3
.
- voir stackoverflow.com/a/33440743/1204331 essayez:
%matplotlib notebook
- Juste essayé, cela semble bon. Est-il possible de mélanger
inline
etnotebook
dans un jupyter portable? - Je ne suis pas sûr de ce qui va vous manquer en utilisant uniquement
notebook
; juste réécrit le commentaire comme une réponse pour le rendre plus facile pour les autres de trouver. - Quel est le code pour la production de ces jolies couleurs vertes?
- J'utilise viridis carte de la couleur
Vous devez vous connecter pour publier un commentaire.
essayer:
%matplotlib notebook
voir jakevdp répondre
ici
MODIFIER pour JupyterLab utilisateurs:
Suivez les instructions pour installer jupyter-matplotlib
Puis, la magie de commande ci-dessus n'est plus nécessaire, comme dans l'exemple:
Enfin, notez-Martin Breddels' répondre; à mon humble avis ipyvolume est en effet très impressionnant (et utile!).
notebook
?%matplotlib notebook
et%matplotlib inline
2. Mon portable prend beaucoup de temps (5 minutes). À l'aide de%matplotlib notebook
aura un rendu d'images après toutes les cellules étant achevée, plutôt qu'après qu'une cellule est terminée.inline
incorpore un auto-généré statique png tout ennotebook
vous permettent de jouer avec une image à la matplotlib, jusqu'à quand vous frappez le bouton "arrêt" et de passer à l'image statique. J'aurais cherché une auto "shutdown" de commande qui serait placé dans les figues où vous n'avez pas besoin du mode interactif. Je ne sais pas si cela est mis en œuvre à ce stade.Il y a une nouvelle bibliothèque appelée ipyvolume que peut faire ce que vous voulez, la documentation montre démonstrations en direct. La version actuelle ne fait pas de mailles et des lignes, mais le maître de la repo git n' (comme pour la version 0.4). (Disclaimer: je suis l'auteur)
Vous pouvez aller avec Plotly de la bibliothèque. Il peut rendre la 3D interactive de parcelles directement dans Jupyter Cahiers.
Pour ce faire, vous devez d'abord installer Plotly en cours d'exécution:
Vous souhaitez peut-être également de mise à niveau de la bibliothèque en cours d'exécution:
Après que vous Jupyter Notebook vous pouvez écrire quelque chose comme:
Comme un résultat le tableau suivant sera tracée pour vous dans Jupyter ordinateur Portable et vous serez en mesure d'interagir avec elle. Bien sûr, vous aurez besoin de fournir vos données spécifiques au lieu de suggeseted un.
Plotly est manquant dans cette liste.
J'ai lié le binding python de la page. Il a définitivement de l'animation et des interative Graphiques 3D. Et puisqu'il est Open Source de la plupart de qui est disponible en mode hors connexion. Bien sûr, il travaille avec Jupyter
Une solution j'ai trouvé est d'utiliser un vis.js instance dans une iframe. Cela montre une 3D interactive de la parcelle à l'intérieur d'un ordinateur portable, qui fonctionne toujours dans nbviewer. Le visjs code est emprunté à partir de l'exemple de code sur le graphe 3D page
Un petit carnet pour illustrer cela: démo
Le code lui-même:
Pour le 3-D de visualisation pythreejs est la meilleure façon d'aller probablement dans le cahier. Elle s'appuie sur le widget interactif de l'infrastructure de l'ordinateur portable, de sorte que la connexion entre le JS et le python est sans faille.
Plus avancés de la bibliothèque est bqplot qui est un d3 interactif fondé sur le savoir de la bibliothèque pour la iPython notebook, mais il ne le 2D