为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 matplotlib 将 txt 文件中的 det unix 时间值转换为日期值?

如何使用 matplotlib 将 txt 文件中的 det unix 时间值转换为日期值?

烙印99 2021-12-26 15:40:25
我基本上想将我在名为“EKTE9”的文本文件的第一行中的 unix 时间值转换为日期。我认为使用 datetime 库是可行的方法,但我不知道如何在我的代码中实现它。一些答案将不胜感激。import matplotlib.pyplot as pltimport csvx = []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.201554058525,0.30,0.80,9.60,26.70这些值持续大约 200 行
查看完整描述

2 回答

?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

那做的工作。非常感谢马丁·埃文斯。最终代码:


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()


查看完整回答
反对 回复 2021-12-26
?
互换的青春

TA贡献1797条经验 获得超6个赞

您将首先datetime使用datetime.fromtimestamp(). 然后可以使用 将其转换为 matplotlib 数字date2num()。最后,您应该使用 aDateFormatter()来帮助显示 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()

这将显示您的两个值,如下所示:

//img1.sycdn.imooc.com//61c81c8b0001715806380474.jpg

查看完整回答
反对 回复 2021-12-26
  • 2 回答
  • 0 关注
  • 231 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号