Wie die Darstellung von Daten anhand bestimmter Datumsangaben auf der x-Achse mit matplotlib
Ich habe einen Datensatz bestehend aus Datum-Wert-Paaren. Ich will zeichnen Sie in einem Diagramm mit den Daten in der x-Achse.
Mein problem ist, dass matplotlib
verteilt die xticks
über den gesamten Datumsbereich; und auch die plots der Daten mit Punkten.
Die Termine sind alle datetime
Objekte. Hier ist ein Beispiel des Datensatzes:
data = [(DT.datetime.strptime('2010-02-05', "%Y-%m-%d"), 123),
(DT.datetime.strptime('2010-02-19', "%Y-%m-%d"), 678),
(DT.datetime.strptime('2010-03-05', "%Y-%m-%d"), 987),
(DT.datetime.strptime('2010-03-19', "%Y-%m-%d"), 345)]
Hier ist ein Thread code-Beispiel mit pyplot
import datetime as DT
from matplotlib import pyplot as plt
data = [(DT.datetime.strptime('2010-02-05', "%Y-%m-%d"), 123),
(DT.datetime.strptime('2010-02-19', "%Y-%m-%d"), 678),
(DT.datetime.strptime('2010-03-05', "%Y-%m-%d"), 987),
(DT.datetime.strptime('2010-03-19', "%Y-%m-%d"), 345)]
x = [date for (date, value) in data]
y = [value for (date, value) in data]
fig = plt.figure()
graph = fig.add_subplot(111)
graph.plot_date(x,y)
plt.show()
FRAGE ZUSAMMENFASSUNG:
Meine situation ist mehr wie ich haben eine Axes
Instanz bereit (referenziert durch graph
im obigen code) und ich will Folgendes tun:
- Machen die
xticks
entsprechen, um das genaue Datum-Werte. Ich habe gehörtmatplotlib.dates.DateLocator
aber ich habe keine Ahnung, wie man eines erstellen und verknüpfen es mit einer bestimmtenAxes
Objekt. - Holen Sie mehr Kontrolle über die Art des Diagramms (Balken, Linie, Punkte, etc.)
InformationsquelleAutor der Frage Kit | 2010-08-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Was du machst, ist einfach genug, dass es ist am einfachsten, nur mit Grundstück, anstatt plot_date. plot_date ist ideal für komplexere Fälle, aber die Einrichtung, was Sie benötigen, können Sie ganz einfach durchgeführt werden, ohne dass es.
z.B., Basierend auf deinem Beispiel oben:
Wenn Sie lieber mit einem bar-plot, nur mit
plt.bar()
. Um zu verstehen, wie zu setzen die Linie und marker-Stile finden Sie unterplt.plot()
Grundstück mit Datum-Etiketten in der marker-Positionen http://www.geology.wisc.edu/~jkington/matplotlib_date_labels.png
InformationsquelleAutor der Antwort Joe Kington