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

我基本上想将我在名为“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 行


烙印99
浏览 232回答 2
2回答

一只斗牛犬

那做的工作。非常感谢马丁·埃文斯。最终代码:import matplotlibimport matplotlib.pyplot as pltfrom datetime import datetimeimport csvx = []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()。最后,您应该使用 aDateFormatter()来帮助显示 x 轴。import matplotlibimport matplotlib.pyplot as pltfrom datetime import datetimeimport csvx = []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()这将显示您的两个值,如下所示:
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python