matplotlib: CSV Dateien

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
microkernel
User
Beiträge: 271
Registriert: Mittwoch 10. Juni 2009, 17:27
Wohnort: Frankfurt
Kontaktdaten:

Hallo,
ich würde gerne mit "matplotlib" ein Diagramm erstellen welches ungefähr so aussieht: Link zum Diagramm. Aber dennoch habe ich nicht wirklich vor mich in die library einzuarbeiten. - Ich möchte nur wissen wie ich so ein Diagramm erstellen kann.
Nun hab eich dazu auch ein passendes Script gefunden, welches so ein Diagramm erzeugt:

Code: Alles auswählen

import matplotlib.pyplot as plt
import matplotlib.mlab as mlab

r = mlab.csv2rec('aapl.csv')
r.sort()
r = r[-20:]  # get the last 20 days

# first we'll do it the default way, with gaps on weekends
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(r.date, r.adj_close, 'o-')
ax.grid(True)
fig.autofmt_xdate()
fig.savefig("test")
Jetzt ist meine Frage wie man solche ".csv" Dateien, wie oben benutzt, bearbeiten kann.
Kann mir da jemand helfen?

Lg
microkernel
Zuletzt geändert von microkernel am Donnerstag 11. Februar 2010, 16:51, insgesamt 1-mal geändert.
Dav1d
User
Beiträge: 1437
Registriert: Donnerstag 30. Juli 2009, 12:03
Kontaktdaten:

:(

PS: der smiley ist ein Link
the more they change the more they stay the same
Benutzeravatar
microkernel
User
Beiträge: 271
Registriert: Mittwoch 10. Juni 2009, 17:27
Wohnort: Frankfurt
Kontaktdaten:

ohh... Das Module war nicht bekannt....
Vielen Dank!
Benutzeravatar
microkernel
User
Beiträge: 271
Registriert: Mittwoch 10. Juni 2009, 17:27
Wohnort: Frankfurt
Kontaktdaten:

ok, aber jetzt habe ich noch folgendes Problem:
Wenn ich folgendes Script ausführe, wird zwar eine Datei mit den Namen "autos.csv" erstellt, doch sie hat keinen Inahlt:

Code: Alles auswählen

>>> writer = csv.DictWriter(open("autos.csv", "wb"), 
                   ["marke", "modell", "leistung_in_ps"]) 
 
>>> writer.writerow({"marke" : "marke", "modell" : "modell", 
                     "leistung_in_ps" : "leistung_in_ps"}) 
>>> daten = ({"marke" : "Volvo", "modell" : "P245", 
              "leistung_in_ps" : "130"}, 
             {"marke" : "Ford", "modell" : "Focus", 
              "leistung_in_ps" : "90"}, 
             {"marke" : "Mercedes", "modell" : "CLK", 
              "leistung_in_ps" : "250"}, 
             {"marke" : "Audi", "modell" : "A6", 
              "leistung_in_ps" : "350"}) 
>>> writer.writerows(daten)
Woran kann das liegen?
lunar

Du musst die Datei korrekt schließen, sonst werden die Daten nicht geschrieben.
Benutzeravatar
microkernel
User
Beiträge: 271
Registriert: Mittwoch 10. Juni 2009, 17:27
Wohnort: Frankfurt
Kontaktdaten:

ok, danke.
Benutzeravatar
microkernel
User
Beiträge: 271
Registriert: Mittwoch 10. Juni 2009, 17:27
Wohnort: Frankfurt
Kontaktdaten:

:D ich hab jetzt noch eine frage, aber ich will nicht nochmal ein extra Thread aufmachen:
Nun hab' ich das mit den CSV Dateien ganz gut hinbekommen und ein Diagramm erstellt das Script auch schon.
Nun habe ich folgendes Problem:
Mein Programm speichert alle 20 Minuten einen Wert in eine ".csv" Datei (ich muss die Werte aus ein bestimmten Grund zwichenspeichern), und erstellt danach aus diesen Dateiinhalt ein Diagramm.
Aber leider sieht es nicht so aus wie ich mir es erhofft habe:Diagramm; Anstatt das unten nur jede 20. Minute eine Uhrzeit steht, sind dort auch die Minuten zwichen der Eintragung notiert.
Jetzt lautet meine Frage wie ich das Einstellen kann, das bei dem Diagramm nur alle 20 Minuten unten die Uhrzeit angezeigt wird.


Lg
microkernel
Benutzeravatar
gkuhl
User
Beiträge: 600
Registriert: Dienstag 25. November 2008, 18:03
Wohnort: Hong Kong

Code: Alles auswählen

ax.set_xticks(x)
Antworten