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:

  1. Machen die xticks entsprechen, um das genaue Datum-Werte. Ich habe gehört matplotlib.dates.DateLocator aber ich habe keine Ahnung, wie man eines erstellen und verknüpfen es mit einer bestimmten Axes Objekt.
  2. Holen Sie mehr Kontrolle über die Art des Diagramms (Balken, Linie, Punkte, etc.)

InformationsquelleAutor der Frage Kit | 2010-08-15

Schreibe einen Kommentar