Kurvenanpassung an eine Zeitreihe im Format 'datetime'?
Hier ist mein Problem:polyfit
nimmt keine datetime werte an, so dass ich datetime mit konvertiert habemktime
das Erzeugen des Polynoms passt funktioniert
z4 = polyfit(d, y, 3)
p4 = poly1d(z4)
Für den Plot hätte ich jedoch gerne die Datums- / Uhrzeitbeschreibung auf der Achse und habe nicht herausgefunden, wie das geht. Kannst du mir helfen?
fig = plt.figure(1)
cx= fig.add_subplot(111)
xx = linspace(0, d[3], 100)
pylab.plot(d, y, '+', xx, p4(xx),'-g')
cx.plot(d, y,'+', color= 'b', label='blub')
plt.errorbar(d, y,
yerr,
marker='.',
color='k',
ecolor='b',
markerfacecolor='b',
label="series 1",
capsize=0,
linestyle='')
cx.grid()
cx.set_ylim(0,0.03)
plt.show()
Rest des Codes:
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import axis
from datetime import datetime
from numpy import *
import pylab
import time
meine ersten 4 Zeitdatenpunkte
x = [datetime(1978, 7, 7),
datetime(1980, 9, 26),
datetime(1983, 8, 1),
datetime(1985,8,8)]
d=[]
for i in x:
d.append(time.mktime(i.timetuple()))
meine ersten 4 Datenwerte
y = [0.00134328779552718,
0.00155187668863844,
0.0039431374327427,
0.00780037563783297]
meine berechneten Standardabweichungen für Fehlerbalken
yerr = [0.0000137547160254577,
0.0000225670232594083,
0.000105623642510075,
0.00011343121508]