1

我正在尝试根据日期绘制信息。我有一个格式为 2013-10-15 18:59:45 的日期列表

我想要的是在没有 vlines 的情况下进行绘图,只需一条线连接每个点。

我在纪元中转换了日期时间,但我想以原始格式和垂直标签显示它

我试图做这样的事情:使用matplotlib在轴标签中创建带有日期和时间的图表

这是我第一次使用 matlibplot,我花了 3 天时间尝试这样做。我很着急,你能帮帮我吗?

4

1 回答 1

0

假设您有一个名为“mydata.log”的文件,其中包含以下数据:

2015-11-16 10:25:11 1.5
2015-11-16 10:25:16 2.2
2015-11-16 10:25:21 3.7

您可以将其绘制如下:

#!/usr/bin/python

import matplotlib.pyplot as plt
from matplotlib import dates
from datetime import datetime

with open("mydata.log") as f:
    data = f.readlines()

x = [row.split(' ')[0:2] for row in data]
x = [datetime.strptime(' '.join(row), '%Y-%m-%d %H:%M:%S') for row in x]
y = [row.split(' ')[2] for row in data]

fig = plt.figure()
ax = fig.add_subplot(111)
ax.set_title("title")
ax.set_xlabel('time')
ax.set_ylabel('mydata')

hfmt = dates.DateFormatter('%y/%m/%d %H:%M:%S')
ax.xaxis.set_major_formatter(hfmt)

ax.plot(x,y, c='r', marker='+', label='mydata')

plt.xticks(rotation='vertical')
plt.subplots_adjust(bottom=.3)
plt.grid()
plt.show()
于 2015-11-17T10:33:30.497 回答