[PYTHON] Fall mit Pandas-Plot, Fall mit (reinem) Matplotlib-Plot

Beim Plotten von Zeitreihendaten usw. mit Python werden Pandas und Matplotlib verwendet, aber das Datenanalysemodul Pandas verfügt über eine Plotfunktion, die einige Matplotlib-Funktionen enthält, und diese pandas.plot und pure ( pure) Ich habe darüber nachgedacht, wie man matplotlib.plot richtig benutzt.

Da pandas.plot die Funktion matplotlib verwendet, um seine Funktion (als Wrapper) zu implementieren, ist klar, dass das resultierende Plotdiagramm (sowohl pandas.plot als auch pure matplotlib) ungefähr gleich ist. Der Punkt der richtigen Verwendung ist, ob es (subjektiv) einfach zu bedienen ist oder nicht.

pandas beherrscht die DaraFrame-Struktur hervorragend, und mit fast einer Befehlszeile können Diagramme von Faltlinien erstellt werden.

Die folgenden Daten (Pandas DataFrame-Klasse) wurden als Beispiel vorbereitet.

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

Daten zu US-Leitzinsen und Effektivzinsen von 2000 bis 2014 sowie zum S & P 500-Index. Dies ist wie folgt aufgetragen.

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

(Weggelassen)

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

Ich habe die Option "sekundäres_y" verwendet, um die Verwendung der rechten Achse anzugeben, aber es ist sehr ** einfach **. my_figure1.png

Die Dekoration der Figur wie Titel und Achsenbeschriftung ist noch nicht abgeschlossen, aber fast abgeschlossen. Wenn Sie dies mit matplotlib zeichnen möchten, benötigen Sie den folgenden Code.

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

(Weggelassen)

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)

(In dieser Zeichnung muss angegeben werden, dass die vertikale Achse in die rechte und die linke Achse unterteilt ist.) Das Ergebnis des Zeichnens mit dem obigen Code ist vorerst beigefügt. (Das Finish ist ** fast ** das gleiche, aber das Legend-Label ist nicht organisiert. Ich habe es an einer Stelle platziert, die ein "Missverständnis" hervorruft ... Korrektur erforderlich.)

my_figure2.png

Aus dem Obigen ergeben sich folgende empfohlene Anwendungsfälle für die beiden Plotfunktionen.

Verweise

-"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 -Offizielle Dokumentation http://matplotlib.org/contents.html, http://pandas.pydata.org/pandas-docs/stable/visualization.html

Recommended Posts

Fall mit Pandas-Plot, Fall mit (reinem) Matplotlib-Plot
Datenvisualisierungsmethode mit Matplotlib (+ Pandas) (5)
Datenvisualisierungsmethode mit Matplotlib (+ Pandas) (4)
Versuchen Sie es mit matplotlib
2-Achsen-Plot mit Matplotlib
Zeichnen auf Jupyter mit der Plot-Funktion von Pandas
2D-Plot in Matplotlib
3D-Plot mit Matplotlib
[Numpy / Pandas / Matplotlib Übung 01]
Zeitreihendiagramm / Matplotlib
Zeichnen Sie Zeitreihendaten in Python mit Pandas und Matplotlib
pandas Matplotlib Zusammenfassung nach Verwendung
Zeichnen Sie mit Pandas mehrere Diagramme
Versuchen Sie es mit matplotlib mit PyCharm
Datenvisualisierungsmethode mit Matplotlib (1)
Stapelbares Barplot mit Matplotlib
Datenvisualisierungsmethode mit Matplotlib (2)
Datenanalyse mit Python-Pandas