我基本上想将文本文件“ EKTE9”的第一行中的Unix时间值转换为日期。我认为使用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行
答案 0 :(得分:0)
您首先要使用datetime.fromtimestamp()
创建一个datetime
对象。然后可以使用date2num()
将其转换为matplotlib号。最后,您应该使用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()
这将显示两个值,如下所示:
答案 1 :(得分:0)
做到了。非常感谢Martin Evans。 国际泳联代码:
<div class="data-row-cell data-row-caption">
<span>{{caption that is really long}}</span>
</div>
<div class="data-row-cell data-row-value">{{data}}</div>