cliquez sur le bleu
image
Suivez-nous

Depuis Internet, intrusion et suppression


Aujourd'hui, j'aimerais partager avec vous une visualisation des marchandises sèches. Il présente Plotly, une puissante bibliothèque de dessins Python open source, et vous apprend à dessiner de meilleurs graphiques avec un code super simple (même une seule ligne !).


La raison pour laquelle je suis resté avec matplotlib auparavant est pour les centaines d'heures que j'ai "coulées" dans l'apprentissage de sa syntaxe complexe. Cela m'a également amené à passer d'innombrables nuits tardives à chercher sur StackOverflow comment "formater la date" ou "ajouter un deuxième axe Y".


Mais nous avons maintenant une meilleure option - comme Plotly , une bibliothèque de traçage Python open source facile à utiliser, bien documentée et puissante  . Plongez en profondeur aujourd'hui et voyez comment il peut dessiner des graphiques encore meilleurs avec un code super simple (même une seule ligne !).


Tout le code de cet article a été open source sur Github, tous les diagrammes sont interactifs, veuillez utiliser le bloc- notes Jupyter pour le visualiser.

(Adresse du code source Github : https://github.com/WillKoehrsen/Data-Analysis/blob/master/plotly/Plotly%20Whirlwind%20Introduction.ipynb)


image

(Exemple de graphique dessiné par plotly. Source de l' image : plot.ly)


Aperçu de l'intrigue


Le package Python pour plotly est une base de code open source basée sur plot.js, lui-même basé sur d3.js. Ce que nous utilisons réellement est une bibliothèque qui encapsule l'intrigue, appelée boutons de manchette, ce qui vous permet d'utiliser plus facilement l'intrigue et les tables de données Pandas pour travailler ensemble.


*Remarque : Plotly elle-même est une société de technologie de visualisation avec plusieurs produits différents et des ensembles d'outils open source. La bibliothèque Python de Plotly est gratuite. En mode hors connexion, vous pouvez créer un nombre illimité de graphiques. En mode en ligne, comme le service de partage de Plotly est utilisé, seuls 25 graphiques peuvent être générés et partagés.


Toutes les visualisations de cet article ont été réalisées dans Jupyter Notebook à l'aide de la bibliothèque plotly + cufflinks en mode hors ligne. Après l'installation avec  pip install cufflinks plotly  , vous pouvez l'importer dans Jupyter avec un code comme celui-ci :


image


Distributions univariées : histogrammes et boîtes à moustaches


Le graphique d'analyse univariée est souvent la pratique standard lors du démarrage de l'analyse des données, et l'histogramme est fondamentalement l'un des graphiques indispensables pour l'analyse de distribution univariée (bien qu'il présente certaines lacunes).


Prenez le nombre total de likes sur un article de blog comme exemple (voir Github pour les données d'origine : https://github.com/WillKoehrsen/Data-Analysis/tree/master/medium ), faites un simple histogramme interactif :


image

(df ​​​​dans le code est un objet standard de dataframe Pandas)


image

(histogramme interactif créé avec plotly+boutons de manchette)


Pour les étudiants habitués à  matplotlib  , il vous suffit de taper une lettre de plus (changez  .plot  en  .iplot  ) pour obtenir un plus beau graphique interactif ! Cliquer sur un élément d'une image révèle des informations détaillées, effectue un zoom avant et arrière et (nous en reparlerons plus tard) met en évidence et filtre certaines parties et plus encore.


Si vous souhaitez dessiner un histogramme empilé, procédez comme suit :


image


image


Traitement simple du tableau de données des  pandas  et génération d'un graphique à barres :


image


image


Comme indiqué ci-dessus, nous pouvons combiner la puissance de plotly + boutons de manchette et pandas ensemble . Par exemple, nous pouvons utiliser  .pivot()  pour effectuer d'abord une analyse de tableau croisé dynamique, puis générer un graphique à barres.


Par exemple, pour compter le nombre de nouveaux fans apportés par chaque article dans différents canaux de publication :


image

image


L'avantage des graphiques interactifs est que nous pouvons explorer les données et décomposer les sous-éléments pour les analyser à volonté. Les boîtes à moustaches peuvent fournir beaucoup d'informations, mais si vous ne pouvez pas voir les valeurs spécifiques, vous en manquez probablement beaucoup !


Nuage de points


Les diagrammes de dispersion sont au cœur de la plupart des analyses et nous permettent de voir comment une variable a changé au fil du temps, ou comment la relation entre deux (ou plusieurs) variables a changé.


Analyse des séries chronologiques


Dans le monde réel, une partie considérable des données comporte un élément temporel. Heureusement, plotly + cufflinks est livré avec des fonctionnalités permettant de prendre en charge l'analyse de visualisation de séries chronologiques.


Prenant l'exemple des données d'articles que j'ai publiées sur le site Web "Towards Data Science", construisons un ensemble de données avec l'heure de publication comme indice pour voir comment la popularité de l'article change :


image


image


Dans l'image ci-dessus, nous accomplissons plusieurs choses avec une seule ligne de code :


  • Générez automatiquement de beaux axes X de séries temporelles

  • Ajouter un deuxième axe Y car les plages des deux variables ne correspondent pas

  • Mettre le titre de l'article dans le libellé affiché au survol


Pour afficher plus de données, nous pouvons facilement ajouter des annotations textuelles :


image


image

(nuage de points avec annotations textuelles)


Dans le code ci-dessous, nous colorons un nuage de points bivarié par la troisième variable catégorielle :


image


image


Ensuite, nous allons jouer avec quelque chose de compliqué : les axes logarithmiques. Nous faisons cela en spécifiant le paramètre de mise en page de plotly (pour différentes mises en page, veuillez vous référer à la documentation officielle https://plot.ly/python/reference/ ), en même temps nous mettons la taille en points (paramètre de taille) et un La variable de valeur  read_ratio  (read ratio) est liée, plus le nombre est grand, plus la taille de la bulle est grande.


image

image


Si on veut être un peu plus compliqué (voir le code source de Github pour plus de détails), on peut même entasser 4 variables dans une seule image ! (Cependant, il n'est pas recommandé de le faire)


image

Comme précédemment, nous pouvons combiner des pandas avec plotly+cufflinks pour obtenir de nombreux graphiques utiles :


image

image

Il est recommandé de vérifier la documentation officielle, ou le code source, qui contient plus d'exemples et d'exemples de fonctions. Avec seulement une ou deux lignes de code, vous pouvez ajouter des annotations de texte, des lignes auxiliaires, des lignes de meilleur ajustement et d'autres éléments utiles à vos graphiques, tout en conservant les fonctions interactives d'origine.

Fonctionnalités de dessin avancées


Ensuite, nous présenterons en détail plusieurs tableaux spéciaux. Vous ne les utiliserez peut-être pas très souvent, mais je vous garantis que tant que vous les utiliserez bien, vous serez certainement impressionné. Nous allons utiliser le module figure_factory de  plotly  pour générer des graphiques impressionnants avec une seule ligne de code !


Matrice de nuages ​​de points


Les matrices de nuages ​​de points (également appelées SPLOM) sont un excellent choix si nous voulons explorer les relations entre de nombreuses variables différentes :


image

image

Même des graphiques aussi complexes sont entièrement interactifs, ce qui nous permet d'explorer les données plus en détail.


Carte thermique des relations


Pour illustrer la relation entre plusieurs variables numériques, nous pouvons calculer leur corrélation et la visualiser sous la forme d'une carte thermique annotée :

image

image

thème personnalisé


En plus de la variété infinie de graphiques, Cufflinks propose également de nombreux thèmes de coloration différents, de sorte que vous pouvez facilement basculer entre différents styles de graphiques. Les deux figures suivantes sont le thème "space" et le thème "ggplot":


image

image

De plus, il existe des diagrammes 3D (surfaces et bulles) :


image


image


Pour les utilisateurs qui s'intéressent à la recherche, il n'est pas difficile de faire un camembert :


image


Modifier dans Plotly Chart Studio


Après avoir généré ces graphiques dans Jupyter Notebook, vous remarquerez un petit lien dans le coin inférieur droit du graphique indiquant "Exporter vers plot.ly". Si vous cliquez sur ce lien, vous serez redirigé vers un "atelier intrigue" (https://plot.ly/create/).


Ici, vous pouvez encore réviser et peaufiner votre diagramme avant la présentation finale. Vous pouvez ajouter des légendes, choisir la couleur de certains éléments, tout organiser et produire un diagramme impressionnant. Plus tard, vous pouvez également le publier sur le Web, générant un lien pour que d'autres puissent le voir.


Les deux graphiques suivants ont été réalisés dans l'atelier graphique :


image

image

讲了这么多,看都看累了吧?然而我们还并没有穷尽这个库的所有功能。限于篇幅,有些更棒的图表和范例,只好请大家访问 plotly 和 cufflinks 的官方文档去一一查看咯。


image

(Plotly 交互式地图,显示了美国国内的风力发电场数据。来源:plot.ly)



最后 ……


关于沉没成本谬误,最糟糕的一点在于,人们往往只能在放弃之前的努力时,才能意识到自己浪费了多少时间。


在选择一款绘图库的时候,你最需要的几个功能有:

  • 快速探索数据所需的一行代码图表

  • 拆分/研究数据所需的交互式元素

  • 当需要时可以深入细节信息的选项

  • 最终展示前能轻易进行定制


从现在看来,要用 Python 语言实现以上功能的最佳选择非 plotly 莫属。它让我们快速生成可视化图表,交互功能使我们更好地理解信息。


我承认,绘图绝对是数据科学工作中最让人享受的部分,而 plotly 能让你更加愉悦地完成这些任务。

image

(用一张图表显示一下用 Python 绘图的愉悦程度随着时间变化。来源 towardsdatascience.com)


2022 年是时候升级你的 Python 绘图库了,让自己在数据科学和可视化方面变得更快、更强、更美吧!


image


长按或扫描下方二维码,免费获取 Python公开课和大佬打包整理的几百G的学习资料,内容包含但不限于Python电子书、教程、项目接单、源码、破解软件等等

image

扫描二维码-免费领取



往期精彩回顾




La meilleure combinaison pour écrire du code Python sous Windows !
Gestion des dépendances des packages Python, résolue !
7 codes de projet pratiques Python, vous permettent d'avancer vers les dieux en quelques minutes !
Traitez efficacement des fichiers volumineux avec Python



Cliquez  pour lire le texte original pour en savoir plus