Mathplotlib axlar med datum och tid
Postat: 24 mars 2017, 16:29:51
Försöker lära mig lite python, numpy, mathplotlib, PyQt, etc.
Följande får jag fungera med följande indata:Problemet är att min indata inte ser ut som ovan utan följande:Alltså inget "-" mellan datum och tid utan ett mellanslag. Jag har försökt med att ändra på olika "delimeters" och "converters", mm med dåligt resultat. Ofta mycket mystiga grafer.
Några tips?
Följande får jag fungera
Kod: Markera allt
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
from datetime import datetime
# Converter function
datefunc = lambda x: mdates.date2num(datetime.strptime(x.decode('ascii'), '%Y-%m-%d-%H:%M:%S'))
def plot_data():
file1='data4-test.log'
date, x, y, z=np.loadtxt(file1,
#delimiter=' ',
#delimiter=19,
converters={0: datefunc},
# converters={0: decode("utf-8")},
dtype=float,
unpack=True)
print('date:', type(date))
print(date)
fig = plt.figure()
ax = fig.add_subplot(111)
ax.set_xticks(date) # Tickmark + label at every plotted point
pl=ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d %H:%M:%S'))
ax.grid(True)
# Format the x-axis for dates (label formatting, rotation)
fig.autofmt_xdate(rotation=45)
fig.tight_layout()
plt.plot_date(date, z,'go-', label='Tryck')
plt.show()
if __name__ == '__main__':
plot_data()
Kod: Markera allt
2017-03-13-16:58:26 18.390253067 31.9744606018 1022.59570312
2017-03-13-16:58:27 18.1910896301 31.9562187195 1022.59130859
2017-03-13-16:58:28 18.7267665863 31.8102798462 1022.58642578
2017-03-13-16:58:29 18.2219963074 31.9562187195 1022.57739258
2017-03-13-16:58:34 18.5310401917 31.9744606018 1022.5546875
2017-03-13-16:58:35 18.5379066467 31.9927024841 1022.59692383
2017-03-13-16:58:36 17.562702179 31.8102798462 1022.60131836
2017-03-13-16:58:37 17.6039085388 31.9927024841 1022.59985352
2017-03-13-16:58:38 17.9129524231 31.9927024841 1022.5847168
2017-03-13-16:58:39 18.7439365387 31.8102798462 1022.60131836
2017-03-13-16:58:40 17.0132904053 31.8650054932 1022.59960938
2017-03-13-16:58:41 18.3559150696 32.0291900635 1022.57495117
2017-03-13-16:58:42 17.4390830994 31.9562187195 1022.58984375
2017-03-13-16:58:44 18.4486274719 31.9562187195 1022.60766602
2017-03-13-16:58:45 18.9946060181 31.9379768372 1022.60253906
Kod: Markera allt
2017-03-13-16:58:26 18.390253067 31.9744606018 1022.59570312
2017-03-13-16:58:27 18.1910896301 31.9562187195 1022.59130859
2017-03-13 16:58:28 18.7267665863 31.8102798462 1022.58642578
2017-03-13 16:58:29 18.2219963074 31.9562187195 1022.57739258
...
Några tips?