0

我有一个包含以下实时数据的文本文件。

1,16:20:35
2,16:20:40
3,16:21:41
4,16:21:50
5,16:21:52
6,16:22:20
7,16:22:42
8,16:23:44

我只想根据时间绘制高值。以下是我尝试过的。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

data = pd.read_csv(('output.txt'), header=0, sep=',', names=['count', 'time'])

data['time'] = pd.to_datetime(data['time'], format='%H:%M:%S')

data = data.set_index(['time'])
df2 = data.resample('1T').ohlc().ffill()
print(df2)
fig, ax = plt.subplots()
df2.plot(time="time", high="high value", ax=ax)
plt.draw()

plt.show()
4

1 回答 1

0

由于您已经有一个 DateTime 索引,您可以简单地将其绘制为:

fig, ax = plt.subplots()
df2[('count',  'high')].plot(ax=ax)

我还建议从 df2 中删除 MultiIndex,因为只需要一个级别。IE:

df2.columns = df2.columns.droplevel(0)
fig, ax = plt.subplots()
df2['high'].plot(ax=ax)
于 2020-04-04T10:40:25.880 回答