ich habe schon wieder ein neues, ähnliches Problem wie im letzten Thread. Ich will einen Graphen plotten, habe aber ein Problem mit der x-Achse. Hier erst mal der Code:
Code: Alles auswählen
from pylab import *
from matplotlib import pyplot
xList = []
y1List = []
Dateiname = raw_input("Bitte das Verzeichnis eingeben: ")
Datei = open(Dateiname)
Counter = 0
Array = []
for line in Datei:
Counter = Counter + 1
if Counter < 5:
line = str(line)
else:
parts = line.split(",")
y1List.append(float(parts[2]))
z1 = plot(y1List)
pyplot.ylabel("Strahlungsintensitaet")
pyplot.xlabel("Zeit")
pyplot.xticks(rotation ='vertical')
show(z1)
Mein obiger Code ignoriert nun die ersten vier Zeilen (Spaltentitel) und trennt die nachfolgenden Zeilen anhand der Kommas. parts[2] bezieht sich auf die dritte Spalte. Die Diagramme, die dargestellt werden, zeigen auf der x-Achse nun die Zeilennummer an. Im Optimalfall sollte aber das Datum angezeigt werden. Wenn ich xList.append(float(parts[0])) hinzufüge und die y-Werte von x abhängig darstellen will, kommt ein Error, weil sich x nicht in eine float umwandeln lässt. Wenn ich xList.append(str(parts[0])) schreibe, kommt derselbe Fehler."TOA5","CR1000","CR1000","E5930","CR1000.Std.25","CPU:RadMes_Melpitz.CR1","19011","Radiation"
"TIMESTAMP","RECORD","Dir_Wm2","PP1_Wm2","PP2_Wm2","TP1_Wm2","TP2_Wm2","PGE_Wm2"
"TS","RN","W/m2","W/m2","W/m2","W/m2","W/m2","W/m2"
"","","Smp","Smp","Smp","Smp","Smp","Smp"
"2015-05-06 11:33:20.3",355693953,643.4,370.6,902,362.6,884,341.5
"2015-05-06 11:33:20.4",355693954,644.7,370.6,903,362.2,884,341.6
"2015-05-06 11:33:20.5",355693955,646.1,370.6,904,362.6,885,341.7
"2015-05-06 11:33:20.6",355693956,646.5,370.6,904,362.2,886,341.2
"2015-05-06 11:33:20.7",355693957,647.4,370.6,905,362.2,887,341.5
"2015-05-06 11:33:20.8",355693958,647.9,370.6,906,362.2,888,341.5
"2015-05-06 11:33:20.9",355693959,648.8,370.6,907,362.2,888,341.8
"2015-05-06 11:33:21",355693960,651,370.6,908,362.2,889,341.3
"2015-05-06 11:33:21.1",355693961,651.9,370.6,909,362.2,890,341.7
Also ich möchte mein Programm so anpassen, dass auf der x-Achse entweder das Datum steht (als String) oder dass auf der x-Achse gar nichts steht, das wäre die Notlösung, die auch in Ordnung wäre. Aber es sollten keine Zeilennummern dastehen. Vielleicht hat ja jemand von euch eine Idee?