ich baue z.Z. an einer kleinen Wetterstation mit einer Raspberry Pi. Die ganze Datenerfassung und Verarbeitung läuft mit Python. Ich bin in Sachen Python aber ein Neuling. Nun zu meinem Problem: Aus einer Datei werden die Werte der letzten 48 Stunden ausgelesen. Pro Stunde ein Datensatz. In der Grafik erscheint dann auch die Beschriftung mit Stunden mit 10er Schritten. Ich würde jetzt aber gerne auf der x-Achse die Werte von 0,6,12,18,24 Uhr usw. beschriften. In der Datei ist auch jedem Wert Datum und Zeit zugeordnet. Problem ist auch das sich die Daten jede Stunde um eine Stunde nach links verschieben. Das Programm sieht so aus:
Code: Alles auswählen
#!/usr/bin/python
# -*- coding: utf-8 -*-
#Carsten Retzlaff caretzlaff@gmail.com
import shutil
import time
import matplotlib
# Zeit und Datum
Datum = time.strftime("%d.%m.%Y")
Zeit = time.strftime("%H:%M")
#Log Datei
wdlog=open("/home/pi/wetter/wdlog.txt", "a")
z=0
#letzten Werte
leda = open("/home/pi/wetter/wetterdaten.csv", "r")
for inp in leda:
z=z+1
leda.close()
wdlog.write(Datum + ":" + Zeit+ "\n")
wdlog.write ("Auswertung"+ "\n")
lt=0
att=[]
ald=[]
att24=[]
ald24=[]
ht24=[]
ht=[]
ng=[]
ng24=[]
leda = open("/home/pi/wetter/wetterdaten.csv", "r")
for inp in leda:
werte = inp.split(";")
tt=werte[3]
ld=werte[4]
if lt >= z-30*24:
ald.append(ld)
att.append(tt)
ht.append(1013)
ng.append(0)
#print tt,ld
if lt >= z-2*24:
ald24.append(ld)
att24.append(tt)
ht24.append(1013)
ng24.append(0)
lt=lt+1
leda.close()
wdlog.write ("Grafik erstellen!"+ "\n")
from matplotlib import pyplot
pyplot.plot(att)
pyplot.plot(ng)
pyplot.title('Temperatur '+Datum+":"+Zeit)
pyplot.xlabel('Stunden h')
pyplot.ylabel('Temperatur Grad Celsius')
pyplot.savefig('/home/pi/wetter/wdtempplot.png')
#pyplot.show()
pyplot.clf()
pyplot.plot(ald)
pyplot.plot(ht)
pyplot.title('Luftdruck '+Datum+":"+Zeit)
pyplot.xlabel('Stunden h')
pyplot.ylabel('Luftdruck hPa')
#pyplot.ylim(970,1030)
pyplot.savefig('/home/pi/wetter/wdluftplot.png')
#pyplot.show()
pyplot.clf()
pyplot.plot(att24)
pyplot.plot(ng24)
pyplot.title('Temperatur '+Datum+":"+Zeit)
pyplot.xlabel('Stunden')
pyplot.ylabel('Temperatur Grad Celsius')
pyplot.xlim(0,48)
pyplot.savefig('/home/pi/wetter/wlt24.png')
#pyplot.show()
pyplot.clf()
pyplot.plot(ald24)
pyplot.plot(ht24)
pyplot.title('Luftdruck '+Datum+":"+Zeit)
pyplot.xlabel('Stunden')
pyplot.ylabel('Luftdruck hPa')
pyplot.ylim(990,1020)
pyplot.xlim(0,48)
pyplot.savefig('/home/pi/wetter/wll24.png')
#pyplot.show()
wdlog.write ("Grafik fertig!"+ "\n")
wdlog.write ("Dateien kopieren"+ "\n")
shutil.copy2('/home/pi/wetter/wdtempplot.png','/var/www/bilder/wdtempplot.png')
shutil.copy2('/home/pi/wetter/wdluftplot.png','/var/www/bilder/wdluftplot.png')
shutil.copy2('/home/pi/wetter/wlt24.png','/var/www/bilder/wlt24.png')
shutil.copy2('/home/pi/wetter/wll24.png','/var/www/bilder/wll24.png')
wdlog.write ("Ende!"+ "\n")
Datum = time.strftime("%d.%m.%Y")
Zeit = time.strftime("%H:%M:%S")
wdlog.write(Datum + ":" + Zeit+ "\n")
wdlog.close()
Wer kann mir einen Denkanstoß geben?