Comment utiliser correctement le package de visualisation Python
Matplotlib est le plus visible en Python, mais la difficulté est que l'API est encombrée et difficile à retenir. Je trouve que Bokeh est le plus pratique car l'API est bien organisée, mais il est regrettable qu'il y ait encore peu d'informations en japonais.
J'espère que Bokeh, qui peut prendre en charge le Web, se développera à l'avenir.
Utilisation recommandée
--Si vous souhaitez tracer rapidement des données simples
- Matplotlib
--Si vous passez de MATLAB à Python
- Matplotlib
――Si tu veux avoir l'air cool
- Bokeh
--Si vous souhaitez inclure des opérations interactives
- Bokeh
--Si vous souhaitez vérifier la valeur numérique du point de données sur le graphique
- Bokeh
- Plotly
--Si vous souhaitez tracer une forme 3D
- Plotly
- Mayavi
--Pour l'analyse statistique
- seaborn
Matplotlib
bon point
――Il est facile de tracer des données simples.
- La fonction de tracé est substantielle (je pense).
- Il y a plus d'informations en japonais que d'autres.
- Vous pouvez tracer directement à partir de la méthode DataFrame.plot de pandas.
- Puisque l'API est similaire à MATLAB, il est facile de passer de MATLAB.
- L'échelle du tracé 3D est automatiquement définie pour chaque axe.
Mauvais points
- Le japonais ne peut pas être affiché par défaut.
-Vous ne pouvez pas déplacer le graphique de manière interactive sur le notebook. (Si vous utilisez
% matplotlib notebook
au lieu de% matplotlib inline
, cela fonctionnera, mais si vous fermez et rouvrez le notebook, cela ne fonctionnera pas.)
- Un mélange d'API pédagogiques et d'API orientées objet peut prêter à confusion.
- La réponse de l'opération interactive n'est pas bonne.
- La procédure de traçage 3D est lourde et difficile à retenir.
――Il est assez gênant d'aligner les échelles de 3 axes dans un tracé 3D, il ne convient donc pas à l'affichage de formes 3D.
Échantillon de parcelle
Bokeh
bon point
-Vous pouvez déplacer le graphique de manière interactive après le traçage, même sur Notebook.
- Vous pouvez convertir des graphiques qui peuvent être déplacés de manière interactive en HTML et les transmettre aux utilisateurs.
- Vous pouvez mettre à jour dynamiquement le graphique avec des données en continu.
- Si WebGL est activé, vous pouvez vous déplacer avec une bonne réponse même si vous tracez une grande quantité de données.
- Les documents sont faciles à lire.
Mauvais points
- Je ne peux pas tracer en 3D.
- L'API du module de traçage de base doit être codée par vous-même.
- L'API du module de graphiques est un rond-point pour tracer des données simples.
Échantillon de parcelle
Voici un exemple qui peut être déplacé [Galerie - documentation Bokeh 0.12.4](http://bokeh.pydata.org/en/latest/docs/gallery.html)
Plotly
bon point
-Vous pouvez déplacer le graphique de manière interactive après le traçage, même sur Notebook.
- Vous pouvez convertir des graphiques qui peuvent être déplacés de manière interactive en HTML et les transmettre aux utilisateurs.
- La fonction d'affichage de la valeur numérique du point de données est activée par défaut.
- Le traçage 3D peut être effectué selon la même procédure que le traçage 2D.
- La réponse du tracé 3D est bonne.
- Étant donné que l'échelle du tracé 3D est la même pour les trois axes, il convient à l'affichage de formes 3D.
D'autres fonctionnalités sont similaires à Bokeh, mais je ne les ai pas examinées en détail.
Mauvais points
--Il est difficile de spécifier la taille du graphique.
--Je ne sais pas comment afficher un tracé 3D à une échelle différente pour chaque axe.
- Il y a très peu d'informations.
- Certaines fonctions sont chargées (le streaming semble être chargé)
- Le document est difficile à consulter.
- L'explication de docstring est courte.
- La plupart des exemples de code utilisent la version payante de l'API.
- Impossible de rechercher dans le document officiel.
Échantillon de parcelle
Voici un exemple qui peut être exécuté [Python Graphing Library, Plotly](https://plot.ly/python/)
Remarque: comment exécuter l'exemple de code dans la version gratuite
Si vous remplacez ʻimport plotly.plotly as py par ʻimport plotly.offline as py
, cela devrait fonctionner.
Mayavi
bon point
- Comme il est exclusivement destiné au traçage 3D, il dispose d'une gamme complète de fonctions de traçage 3D.
- Vous pouvez modifier les paramètres après le traçage.
--Il existe un tutoriel japonais sur les tracés 3D.
- 3.5. 3D Plot by Mayavi - Scipy conférence notes
Mauvais points
- L'installation est gênante car elle ne prend pas en charge PyQt5
--Il ne fonctionne pas par défaut dans l'environnement racine d'Anaconda 4.3.0.
- Vous devez spécifier la version et installer PyQt4.
--
conda update --all
est NG (mis à jour vers PyQt5)
--Par défaut, l'axe n'est pas affiché.
-Bien qu'il puisse être affiché sur le portable, ses fonctions sont assez limitées.
seaborn
bon point
- Il existe de nombreuses API de très haut niveau spécialisées dans l'analyse statistique.
--lmplot: régression et tracé à la fois
- seaborn.lmplot
--joinplot: combinaison de diagramme de dispersion et d'histogramme de 2 variables
- seaborn.jointplot
--pairplot: collecte de diagrammes de dispersion multivariés
- seaborn.pairplot
- La gigue est pratique (une fonction pour tracer des points de chevauchement difficiles à voir avec un léger décalage)
- Exemple de gigue: seaborn.stripplot
Mauvais points
- Le style de Matplotlib est modifié sans autorisation par simple importation.
Lien de référence
Comparaison de la bibliothèque de dessins Jupyter-notebook-Qiita
Cheet sheet pour afficher quoi que ce soit dans Jupyter Notebook --Qiita