Я в основном хочу преобразовать значения времени unix, которые у меня есть в первой строке моего текстового файла с именем 'EKTE9', к дате. Я думаю, что использование библиотеки datetime - это путь, но я не знаю, как реализовать это в моем коде. Некоторые ответы будут оценены.
import matplotlib.pyplot as plt
import csv
x = []
y = []
with open('EKTE9.txt','r') as csvfile:
plots = csv.reader(csvfile, delimiter=',')
for row in plots:
x.append(int(row[0]))
y.append(float(row[3]))
plt.plot(x,y, label='Temperatur')
plt.xlabel('Tid')
plt.ylabel('Temperatur')
plt.title('Grafen viser temperatur under forsøket\n')
plt.legend()
plt.show()
Вот некоторые значения из файла EKTE9.txt:
1554058225,0.80,2.90,13.60,27.20
1554058525,0.30,0.80,9.60,26.70
Значения продолжаются около 200 строк
Это сделало работу. Спасибо большое Мартин Эванс. Фина код:
import matplotlib
import matplotlib.pyplot as plt
from datetime import datetime
import csv
x = []
y = []
with open('EKTE9.txt','r') as csvfile:
plots = csv.reader(csvfile, delimiter=',')
for row in plots:
x.append(matplotlib.dates.date2num(datetime.fromtimestamp(int(row[0]))))
y.append(float(row[3]))
hfmt = matplotlib.dates.DateFormatter('%d\n%H:%M')
plt.plot(x,y, label='Temperatur')
plt.gca().xaxis.set_major_formatter(hfmt)
plt.xlabel('Tid')
plt.ylabel('Temperatur')
plt.title('Grafen viser temperatur under forsøket\n')
plt.legend()
plt.show()
Вы бы сначала создать объект datetime
объекта с помощью datetime.fromtimestamp()
. Затем его можно преобразовать в число matplotlib с помощью date2num()
. Наконец, вы должны использовать DateFormatter()
чтобы помочь с отображением оси X.
import matplotlib
import matplotlib.pyplot as plt
from datetime import datetime
import csv
x = []
y = []
with open('EKTE9.txt', 'r', newline='') as csvfile:
plots = csv.reader(csvfile, delimiter=',')
for row in plots:
x.append(matplotlib.dates.date2num(datetime.fromtimestamp(int(row[0]))))
y.append(float(row[3]))
hfmt = matplotlib.dates.DateFormatter('%d\n%H:%M')
plt.plot(x,y, label='Temperatur')
plt.gca().xaxis.set_major_formatter(hfmt)
plt.xlabel('Tid')
plt.ylabel('Temperatur')
plt.title('Grafen viser temperatur under forsøket\n')
plt.legend()
plt.show()
Это тогда покажет ваши два значения следующим образом:
EKTE9.txt
чтобы мы могли понять, что это за формат.