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

2024-09-29 21:21:16 发布

您现在位置:Python中文网/ 问答频道 /正文

基本上,我想将名为“EKTE9”的文本文件第一行中的unix时间值转换为date。我认为使用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行


Tags: csvcsvfileimporttxtdateas时间unix
2条回答

首先使用^{}创建一个datetime对象。然后可以使用^{}将其转换为matplotlib编号。最后,您应该使用^{}来帮助显示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()

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

Matplotlib output

做得很好。非常感谢马丁·埃文斯。 国际泳联代码:

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

相关问题 更多 >

    热门问题