Forum >> Principianti >> ascisse Timestamp

Pagina: 1

Buongiorno sono nuovo in python e specie di questo forum, quindi chiedo scusa se scriverò baggianate o se avete già affrontato tale tematica.
Ho dei dati correlati a dei tempi e delle date, vorrei quindi metterli in grafico, questi tempi/date sono in formato Timestamp. Ho cercato su vari siti e la soluzione più vicina e funzionante risulta essere quella che vi riporto sotto.

Per intenderci ascisse sono le date in Timestamp, e ordinate1 e 2 sono i dati legati al medesimo momento cronologico.

Con la prima riga di codice però le date vengono modificate e non risultano più essere le medesime di partenza.

Variabile ascisse:

0: Timestamp('2012-04-29 00:00:00'), 1: Timestamp('2012-04-29 00:30:00'), 2: Timestamp('2012-04-29 01:00:00'), 3: Timestamp('2012-04-29 01:30:00'), 4: Timestamp('2012-04-29 02:00:00'), 5: Timestamp('2012-04-29 02:30:00'), 6: Timestamp('2012-04-29 03:00:00'), 7: Timestamp('2012-04-29 03:30:00'), 8: Timestamp('2012-04-29 04:00:00'), 9: Timestamp('2012-04-29 04:30:00'), 10: Timestamp('2012-04-29 05:00:00'), 11: Timestamp('2012-04-29 05:30:00'), 12: Timestamp('2012-04-29 06:00:00'), 13: Timestamp('2012-04-29 06:30:00'), 14: Timestamp('2012-04-29 07:00:00'), 15: Timestamp('2012-04-29 07:30:00'), 16: Timestamp('2012-04-29 08:00:00'), 17: Timestamp('2012-04-29 08:30:00'), 18: Timestamp('2012-04-29 09:00:00'), 19: Timestamp('2012-04-29 09:30:00'), 20: Timestamp('2012-04-29 10:00:00'), 21: Timestamp('2012-04-29 10:30:00'), 22: Timestamp('2012-04-29 11:00:00'), 23: Timestamp('2012-04-29 11:30:00'), 24: Timestamp('2012-04-29 12:00:00'), 25: Timestamp('2012-04-29 12:30:00'),

Variabile dates:

datetime.datetime(1970, 1, 1, 1, 0), datetime.datetime(1970, 1, 1, 1, 0, 1), datetime.datetime(1970, 1, 1, 1, 0, 2), datetime.datetime(1970, 1, 1, 1, 0, 3), datetime.datetime(1970, 1, 1, 1, 0, 4), datetime.datetime(1970, 1, 1, 1, 0, 5), datetime.datetime(1970, 1, 1, 1, 0, 6), datetime.datetime(1970, 1, 1, 1, 0, 7), datetime.datetime(1970, 1, 1, 1, 0, 8), datetime.datetime(1970, 1, 1, 1, 0, 9), datetime.datetime(1970, 1, 1, 1, 0, 10), datetime.datetime(1970, 1, 1, 1, 0, 11), datetime.datetime(1970, 1, 1, 1, 0, 12), datetime.datetime(1970, 1, 1, 1, 0, 13), datetime.datetime(1970, 1, 1, 1, 0, 14), datetime.datetime(1970, 1, 1, 1, 0, 15), datetime.datetime(1970, 1, 1, 1, 0, 16), datetime.datetime(1970, 1, 1, 1, 0, 17), datetime.datetime(1970, 1, 1, 1, 0, 1 8)

Non saprei quindi come poter trasformare un Timestamp in un datetime comprensibile poi da matplot.
Vi ringrazio per la disponibilità e spero di non aver fatto guai.

dates = [dt.datetime.fromtimestamp(ts) for ts in ascisse]
plt.subplots_adjust(bottom=0.2)
plt.xticks(rotation=25)
ax = plt.gca()
xfmt = md.DateFormatter('%Y-%m-%d %H:%M')
ax.xaxis.set_major_formatter(xfmt)
line1 = plt.plot(dates, ordinate1, label='dati reali', linewidth=2)
line2 = plt.plot(dates, ordinate2, label='dati predetti', linewidth=2)
plt.annotate('varianza:  ' + str(round(varianza, 2)), xy=(1, 0), xycoords='axes fraction', fontsize=11,
             xytext=(0, -50), textcoords='offset points',
             ha='right', va='top')
plt.annotate('max error:  ' + str(round(maxer, 2)), xy=(1, 0), xycoords='axes fraction', fontsize=11,
             xytext=(0, -62), textcoords='offset points',
             ha='right', va='top')
plt.show()

Allegati


Pagina: 1



Esegui il login per scrivere una risposta.