pandas OHL C отображать только высокие значения со временем - PullRequest
0 голосов
/ 04 апреля 2020

У меня есть текстовый файл со следующими данными в реальном времени.

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

1 Ответ

0 голосов
/ 04 апреля 2020

Поскольку у вас уже есть индекс DateTime, вы можете просто построить его как:

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

Я бы также предложил удалить MultiIndex из df2, так как нужен только один уровень. то есть:

df2.columns = df2.columns.droplevel(0)
fig, ax = plt.subplots()
df2['high'].plot(ax=ax)
...