[PYTHON] Cas utilisant un tracé de pandas, cas utilisant un tracé matplotlib (pur)

Lors du traçage de données de séries chronologiques, etc. avec Python, pandas et matplotlib seront utilisés, mais le module d'analyse de données pandas a une fonction de tracé qui intègre certaines fonctions matplotlib, et ce pandas.plot et pure ( pure) J'ai réfléchi à la manière d'utiliser correctement matplotlib.plot.

Puisque pandas.plot utilise la fonction matplotlib pour implémenter sa fonction (en tant que wrapper), il est clair que le diagramme de tracé résultant (à la fois pandas.plot et pur matplotlib) sera à peu près le même. Le point de la bonne utilisation est de savoir s'il est (subjectivement) facile à utiliser ou non.

pandas est excellent pour gérer la structure DaraFrame, et des tracés de lignes de pliage peuvent être créés avec presque une ligne de commande.

Les données suivantes (classe pandas DataFrame) ont été préparées à titre d'exemple.

In [11]: df_mkt[:10]
Out[12]:
            policy  actual       sp500
2000-01-01     5.5     NaN         NaN
2000-01-02     5.5     NaN         NaN
2000-01-03     5.5     NaN  1441.46997
2000-01-04     5.5     NaN  1441.46997
2000-01-05     5.5     NaN  1441.46997
2000-01-06     5.5     NaN  1441.46997
2000-01-07     5.5     NaN  1441.46997
2000-01-08     5.5     NaN  1441.46997
2000-01-09     5.5     NaN  1441.46997
2000-01-10     5.5     NaN  1465.15002

Données sur les taux d'intérêt directeurs et les taux d'intérêt effectifs américains de 2000 à 2014, et l'indice S & P 500. Ceci est tracé comme suit.

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

(Omis)

df_mkt.plot(grid=True, figsize=(10,4), secondary_y=['sp500'])

J'ai utilisé l'option "secondary_y" pour spécifier l'utilisation du bon axe, mais c'est très ** facile **. my_figure1.png

La décoration de la figure comme le titre et l'étiquette d'axe n'est pas encore terminée, mais elle est presque terminée. Si vous voulez dessiner ceci avec matplotlib, vous avez besoin du code suivant.

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

(Omis)

fig, ax1 = plt.subplots(figsize=(10,4))
plt.plot(df_mkt.index, df_mkt['policy'], 'b', label='policy')
plt.plot(df_mkt.index, df_mkt['actual'], 'g', label='actual')

plt.grid(True)
plt.legend(loc=4)

ax2 = ax1.twinx()
plt.plot(df_mkt.index, df_mkt['sp500'], 'r', label='s&p500')
plt.legend(loc=0)

(Dans ce dessin, il est nécessaire de spécifier que l'axe vertical est divisé en l'axe droit et l'axe gauche.) Pour le moment, le résultat du dessin avec le code ci-dessus est joint. (La finition est ** presque ** la même, mais l'étiquette Légende n'est pas organisée. Je la mets à un endroit qui donne un "malentendu" ... Correction requise.)

my_figure2.png

D'après ce qui précède, les cas d'utilisation recommandés pour les deux fonctions de tracé sont les suivants.

-Dans le cas de dessiner un graphique linéaire historique des données de séries temporelles traitées par pandas DataFrame, utilisez pandas.plot () docilement. -Pour les graphiques autres que les graphiques linéaires de données de séries temporelles, tels que les nuages de points ou les graphiques plus complexes, utilisez la fonction de traçage pure matplotlib au lieu du graphique pandas. (Parce qu'il existe de nombreux graphiques que pandas.plot ne prend pas en charge.)

Les références

-"Python for Data Analysis": (O'reilly Media) http://shop.oreilly.com/product/0636920023784.do -"Python for Finance": (O'reilly Media) http://shop.oreilly.com/product/0636920032441.do -Documentation officielle http://matplotlib.org/contents.html, http://pandas.pydata.org/pandas-docs/stable/visualization.html

Recommended Posts

Cas utilisant un tracé de pandas, cas utilisant un tracé matplotlib (pur)
Méthode de visualisation de données utilisant matplotlib (+ pandas) (5)
Méthode de visualisation de données utilisant matplotlib (+ pandas) (4)
Essayez d'utiliser matplotlib
Graphique 2 axes avec Matplotlib
Dessinez sur Jupyter en utilisant la fonction de tracé des pandas
Graphique 2D dans matplotlib
Graphique 3D avec matplotlib
[Exercice Numpy / pandas / matplotlib 01]
Diagramme de séries chronologiques / Matplotlib
Graphique des données de séries chronologiques en Python à l'aide de pandas et matplotlib
pandas Matplotlib Résumé par utilisation
Dessinez plusieurs graphiques à l'aide de Pandas
Essayez d'utiliser matplotlib avec PyCharm
Méthode de visualisation de données utilisant matplotlib (1)
Bar plot empilable avec matplotlib
Méthode de visualisation de données utilisant matplotlib (2)
Analyse de données à l'aide de pandas python