1

我有一个示例文本文件如下:(test.txt)

06:00:41 2
06:10:41 4
06:20:41 6
06:25:41 8

我想将 X 轴和第二列的时间值绘制到 y 轴。

import matplotlib.pyplot as plt
import datetime
import matplotlib.dates as mdates
import time
import numpy as np


f2 = open('test.txt', 'r')
lines = f2.readlines()
f2.close()


x1 = []
y1 = []


for line in lines:
    p = line.split()
    a = time.strptime((p[0]),"%H:%M:%S")
    x1.append((a))
    y1.append(float(p[1]))

xv = np.array(x1)
yv = np.array(y1)


plt.plot(xv, yv)

plt.show()

这就是我绘制它的方式。但是 X 轴显示 500,1000,1500 等。相反,我想将时间值显示为 06:00:41,06:10:41,06:20:41 等。请帮帮我?

4

1 回答 1

1

你试过plot_date吗?

如果您将时间序列数据作为datetime值可能会有所帮助

from datetime import datetime

for line in lines:
    p = line.split()
    xv.append(datetime.strptime(p[0], '%H:%M:%S'))

fig, ax = plt.subplots()
ax.plot_date(xv, yv)

如果您想要线图,请尝试更改linestyle文档

ax.plot_date(xv, yv, linestyle='-')
于 2013-06-11T08:52:26.350 回答