[Python] Ecrire des graphiques multilignes dans Plotly Express

Voici une petite histoire pour écrire des graphiques multilignes avec Plotly Express, un wrapper pour la bibliothèque de graphes Python Plotly, dont le design moderne est irrésistible.

Les données

J'ai extrait les données du draft MLB 2019 du site appelé Spotrac. Je vais omettre les étapes de grattage et de traitement, mais les données ressemblent à ceci.

>>> df.head()
   PICK TEAM             NAME AGE POS                   SCHOOL  SLOTTED_BONUS  SIGNED_BONUS
0   1.0  BAL  Adley Rutschman  21   C             Oregon State      8415300.0     8100000.0
1   2.0   KC   Bobby Witt Jr.  18  SS  Colleyville Heritage HS      7789900.0     7789900.0
2   3.0  CHW    Andrew Vaughn  21  1B               California      7221200.0     7221200.0
3   4.0  MIA      J.J. Bleday  21  OF               Vanderbilt      6664000.0     6670000.0
4   5.0  DET     Riley Greene  18  OF               Hagerty HS      6180700.0     6180700.0

>>> df.dtypes
PICK             float64
TEAM              object
NAME              object
AGE               object
POS               object
SCHOOL            object
SLOTTED_BONUS    float64
SIGNED_BONUS     float64
dtype: object

La signification de la colonne de «DataFrame» est la suivante. C'est un otaku de la MLB, alors j'espère que vous pourrez le vérifier: arc:

Je veux écrire un tracé sur plusieurs lignes!

Ce que je veux faire, c'est chevaucher les lignes de pliage avec SLOTTED_BONUS et SIGNED_BONUS, et quel est le montant réel de la signature pour le montant de l'emplacement? Je veux visualiser.

Répondre

En prenant la peine de créer des Tidy Data avec pandas.melt (), vous pouvez l'écrire rapidement en alimentant les données dans Plotly Express.

>>> mdf = pd.melt(
...     df,
...     id_vars=["PICK", "TEAM", "NAME", "AGE", "POS", "SCHOOL"],
...     value_vars=["SLOTTED_BONUS", "SIGNED_BONUS"],
...     var_name="BONUS_TYPE",
...     value_name="AMOUNT"
... )
>>> mdf.head()
   PICK TEAM             NAME AGE POS                   SCHOOL     BONUS_TYPE     AMOUNT
0   1.0  BAL  Adley Rutschman  21   C             Oregon State  SLOTTED_BONUS  8415300.0
1   2.0   KC   Bobby Witt Jr.  18  SS  Colleyville Heritage HS  SLOTTED_BONUS  7789900.0
2   3.0  CHW    Andrew Vaughn  21  1B               California  SLOTTED_BONUS  7221200.0
3   4.0  MIA      J.J. Bleday  21  OF               Vanderbilt  SLOTTED_BONUS  6664000.0
4   5.0  DET     Riley Greene  18  OF               Hagerty HS  SLOTTED_BONUS  6180700.0

J'ai modifié SLOTTED_BONUS et SIGNED_BONUS pour les tenir verticalement, et les ai mis dans la colonne appelée BONUS_TYPE comme colonne qui contient le nom de la colonne d'origine et la valeur comme ʻAMOUNT. Dans ce formulaire, vous pouvez écrire un tracé multiligne en définissant pour voir BONUS_TYPE comme paramètre à passer à Plotly Express`.

import plotly.express as px

px.line(
    mdf, x="PICK", y="AMOUNT", color="BONUS_TYPE",
)

image.png

référence

Recommended Posts

[Python] Ecrire des graphiques multilignes dans Plotly Express
Graphique en temps réel avec Plotly (Python)
[Python] Créez des tracés de coordonnées parallèles codés par couleur par catégorie avec Plotly Express
Python sur Windows
twitter avec python3
[Écrire sur la carte avec plotly] Visualisation dynamique avec plotly [python]
python sur mac
Pour écrire dans Error Repoting en Python sur GAE
Python sur Windbg
Ecrire un histogramme à l'échelle logarithmique sur l'axe des x en python
Conda Python avec Cygwin
Installer python sur WSL
Configuration de PyOpenGL sur Python 3
Installez Python sur Pidora.
Installez Scrapy sur python3
[Python] Assigner une chaîne sur plusieurs lignes
Installer Python 3 dans un environnement Mac
Installez Python3.4 sur CentOS 6.6
Installer des pandas sur python2.6
python basic ② sous windows
Installez python sur Windows
Installez Python 2.7.3 sur CentOS 5.4
construire Python sur Ubuntu
Installez Python 3.3 sur Ubuntu 12.04
Installez Python 3.4 sur Mac
Installez Python 3.6 sur Docker