PC & Mobile

Débuter avec Plot.ly – Vers la science des données

Débuter avec Plot.ly - Vers la science des données


Guide pas à pas pour de puissantes visualisations en Python

Auteurs: Elyse Lee et Ishaan Dey

Matplotlib va ​​bien, Seaborn est génial, mais Plot.ly? C’est à un tout autre niveau. Plot.ly offre plus que votre graphique moyen en offrant des options pour une interactivité totale et de nombreux outils d'édition. Se différenciant des autres en disposant d'options permettant de créer des graphiques en mode hors ligne et en ligne, il est également doté d'une API robuste qui, une fois configurée, fonctionnera de manière transparente pour afficher les graphiques dans un navigateur Web, ainsi que la possibilité d'enregistrer une copie locale. . L’une des seules frustrations que vous rencontrerez est la gestion de nombreuses options pour déterminer les outils que vous souhaitez utiliser pour vos parcelles.

Vue d'ensemble

Nous allons commencer par les bases de la configuration de plot.ly en Python. Après cela, nous commencerons par quelques visualisations de base, allant des tracés de boîtes et moustaches typiques aux cartes choroplèthes, avec des décompositions de codes en cours de route. Nous avons réalisé toutes les visualisations de ce guide en utilisant le jeu de données Zillow Economics, qui contient des données chronologiques de 1996 à 2017 sur diverses mesures de logement agrégées par emplacement. Si le code complet de ce message vous intéresse, consultez le lien GitHub ci-dessous; sinon, tout le code utilisé pour créer les visualisations sera inclus pour chaque visualisation.

Nous espérons que, à la fin, vous aurez développé une intuition de base sur le fonctionnement de l’API de cartographie, ainsi qu’une idée du cadre généralisable que vous pouvez appliquer à vos propres projets. Vous pouvez trouver un lien vers une feuille de calcul de plots ici, et si vous souhaitez ajuster les paramètres utilisés pour la visualisation, vous pouvez accéder à la documentation à l'aide de la commande Aidez-moi() une fonction. Pour plus de détails sur tous les types de tracé et de paramètres, voici un lien vers plus d’informations sur la bibliothèque de graphes open source Python de Plotly.

Mise en place

Plotly est une plate-forme qui s'exécute sur JSON, un format dans lequel les paramètres sont transmis à l'API Plotly dans des formats de dictionnaire. Nous pouvons accéder à cette API en python en utilisant le intrigue.ly paquet. Pour installer le paquet, ouvrez le terminal et tapez $ pip install plotly ou $ sudo pip installer complotement.

Les graphiques de Plotly sont hébergés à l’aide d’un service Web, vous devez donc commencer par créer un compte gratuit en ligne pour stocker vos parcelles. Pour récupérer votre clé API personnelle, suivez le lien ici: https://plot.ly/settings/api#/. Une fois que vous avez terminé, vous pouvez commencer à configurer l’intrigue avec set_credential_files () fonction, comme indiqué ci-dessous.

importer complotement
plotly.tools.set_credentials_file (nom_utilisateur = 'VotreCompte ', api_key = 'VotreAPIKey') ``

Tracé en ligne et hors ligne

Lors de l'affichage de visualisations sur plot, le plot et les données sont enregistrés sur votre compte plotly. Sans payer plus d’espace dans le cloud, vous aurez un maximum de 25 parcelles pouvant être stockées sur le cloud, mais ces images peuvent facilement être stockées localement et supprimées lorsqu’il en faut plus.

Il existe deux manières principales d’afficher des tracés d’intrigue. Si vous utilisez Jupyter Notebook ou un autre environnement python interactif (fichiers avec le .ipynb extension), le py.iplot () function affiche les tracés dans la sortie sous la cellule. py.plot ()d'autre part, renvoie une URL qui peut être enregistrée et s'ouvre également à l'aide du navigateur Web par défaut.

Le mode Plotly offline vous permet également de sauvegarder des graphiques localement. Pour tracer hors ligne, vous pouvez utiliser plotly.offline.plot () ou plotly.offline.iplot (). Encore une fois, le iplot () Cette fonction est utilisée pour le bloc-notes Jupyter et affiche les tracés dans le bloc-notes. terrain() crée une page HTML qui est enregistrée localement pour être ouverte dans un navigateur Web.

Structure basique

Comme nous l’avons mentionné précédemment, toutes les visualisations plot.ly sont créées à l’aide de la structure Json, qui répertorie les paramètres à modifier à l’aide de l’API. Vous verrez donc les paramètres et la structure générale permettant de créer chaque tracé. le reste.

importer plotly.plotly comme py
importer plotly.graph_objs comme aller

importer plotly.plotly comme py : Cela a les fonctions pour communiquer avec les serveurs de plotly

importer plotly.graph_objs comme aller: Cela a les fonctions pour générer des objets graphiques. C'est un module utile pour appeler de l'aide sur afin de voir tous les attributs pris en tant que paramètres d'un objet. Il existe également différentes méthodes utiles de l'objet disponible, telles que la méthode de mise à jour qui peut être utilisée pour mettre à jour l'objet de tracé pour y ajouter plus d'informations.

Structure généralisée

le graph_objs class contient plusieurs structures cohérentes dans les visualisations effectuées dans plot.ly, quel que soit leur type.

Nous commençons par trace, qui peut être considéré comme une couche individuelle contenant les données et les spécifications de la manière dont les données doivent être tracées (lignes, marqueurs, type de graphique). Voici un exemple de structure de trace:

trace1 = {
"X": ["2017-09-30", "2017-10-31", "2017-11-30", ...],
"y": [327900.0, 329100.0, 331300.0, ...],
"ligne": {
"color": "# 385965",
"largeur": 1.5
},
"mode": "lignes",
"nom": "Hawaii",
"type": "scatter",
}

Comme vous pouvez le voir, trace est un dictionnaire de paramètres des données à tracer, ainsi que des informations sur les types de couleur et de ligne.

Nous pouvons compiler plusieurs traces en les ajoutant à une liste, que nous appellerons Les données. L’ordre des traces dans la liste détermine l’ordre dans lequel elles sont placées sur le tracé final. En règle générale, les données doivent ressembler à ceci:

  data = [trace1, trace2, trace3, trace4]

layout = go.Layout (): Cet objet est utilisé pour la mise en forme des données, notamment leur apparence et des fonctions modifiables telles que le titre, les titres des axes, la police et l'espacement. Juste comme trace, c'est un dictionnaire de dictionnaires.

layout = {
"showlegend": Vrai,
"title": {"text": "Indice de valeur de Zillow Home pour les 5 États les plus importants"},
"xaxis": {
"RangeSlider": {"visible": True},
"title": {"text": "Année de 1996 à 2017"},
"zeroline": Faux
},
"yaxis": {
"title": {"text": "ZHVI BottomTier"},
"zeroline": Faux
}
}

Nous pouvons enfin compiler les données et la mise en page en utilisant le allez comprendre() fonction, qui finit par être transmise à la fonction de tracé que nous avons choisie.

fig = go.Figure (data = data, layout = layout)

Diagramme à bandes

go.Bar ()crée une figure de type graphique à barres. Dans le go.Layout () fonction, nous pouvons spécifier des informations importantes telles que barmode = “groupe”, qui regroupe les différentes barres pour chaque année, des étiquettes pour les axes x et y et un titre pour le graphique complet.

Graphique linéaire

go.Scatter () instancie une trace de type scatter, par opposition à un diagramme à barres ou à une autre forme.

Nous pouvons changer le mode du marqueur en utilisant le paramètre mode. Même si nous utilisons un nuage de points, nous pouvons générer un nuage de points qui crée des lignes et des marqueurs (points) sur les lignes.

mode = "lignes + marqueurs"

Série chronologique

Ici, nous avons ajouté un curseur de plage qui ajuste le domaine de données pouvant être inclus dans le tracé principal à l'aide de la planeur de range paramètre.

Nous avons également transmis un dictionnaire de couleurs contenant une couleur unique pour chaque état. Pour ce faire, nous avons utilisé le seaborn palette de couleurs() fonction, spécifie la gamme de couleurs, ainsi que le nombre de valeurs discrètes nécessaires à la distribution. Comme plot.ly n'acceptera pas les n-uplets RVB, nous pouvons convertir la sortie en codes HEX à l'aide du as_hex () une fonction.

Nuage de points multiples

Pour créer cette présentation, au lieu d’ajouter les traces à un seul dictionnaire, nous créons des sous-parcelles en utilisant make_subplots () fonction et ajoutez la trace à un emplacement spécifique de la grille à l'aide du bouton append_trace () une fonction.

Carte de choroplèthes

Avec le choroplète, nous pouvons prendre un raccourci en utilisant la classe de fabrique de figures, qui contient un ensemble de fonctions permettant de tracer facilement des figures plus complexes telles que des cartes géographiques.

importer plotly.figure_factory en tant que ff

Du ff.create_choropleth () fonction, nous passons un ensemble de FIPS codes d’identification géographique propres à chaque comté, ville ou État où le valeurs (ZHVI_BottomTier) correspondent aux données à affecter à cette région.

Dernières pensées

Comme illustré à partir des exemples de différents types de graphiques ci-dessus, Plot.ly est un outil puissant pour développer des graphes agréables à la vue et compréhensibles pour un large éventail de publics. Il présente de nombreux avantages, notamment le fait de pouvoir accéder facilement aux modes hors connexion et en ligne, et de contenir des fonctions permettant d'afficher les graphiques générés dans le bloc-notes et dans un navigateur Web. Grâce à ses avantages supplémentaires en matière d'interactivité, Plotly est une excellente alternative à Matplotlib et Seaborn, et peut augmenter l'impact de la présentation.

Faites-nous savoir si vous avez des questions!

Show More

SupportIvy

SupportIvy.com : Un lieu pour partager le savoir et mieux comprendre le monde. Meilleure plate-forme de support gratuit pour vous, Documentation &Tutoriels par les experts.

Related Articles

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Close
Close