1

我有一些数据排列为二维 numpy 数组。

数据有 4 列,分别对应统计信息:

  • 分钟
  • 最大限度
  • 平均值 + 标准差
  • 均值 - sd

我想用蜡烛图来绘制这些。据我所知,使用 matplotlib 执行此操作的唯一方法是使用mplfinance包。

我已使用以下方法将我的数据转换为 pandas 数据框:

data_frame = pandas.DataFrame(data_in, columns=['Low', 'High', 'Open', 'Close'])

并尝试使用

mplfinance.plot(data_frame, type='candle')

然而这个错误导致:

raise TypeError('Expect data.index as DatetimeIndex')

所以我想我需要某种包含日期/时间数据的列。

我以前没有使用过这个包,所以我不确定我在这里做什么。

可能会在我的输入数据中添加日期/时间戳,尽管这有点不方便,并且需要我更改很多其他脚本。

数据来自一些以(大约)固定时间间隔采样的传感器。(获得样本的确切时间并不特别重要。)

因此我有 4 列数据要绘制,并且数据是连续的。

(注意进行了一些预处理来计算最小值、最大值、平均值、标准差等。同样,这不是至关重要的,并且本质上使时间信息无关紧要。)

有没有一种方法可以通过指定数据“有序”来绘制蜡烛图,并且 x 轴应该类似于“从 1 到 N”,其中 N 是数据中的样本数。

4

1 回答 1

0

您可以尝试以下几件事:

  1. matplotlib boxplot ...不是烛台,而是类似的。

  2. 像您一样使用 mplfinance,并从 1 月 1 日开始生成任意日期时间索引,并使用%j(一年中的某天)日期时间格式:


data_frame = pandas.DataFrame(data_in, columns=['Low', 'High', 'Open', 'Close'])

data_frame.index = pandas.date_range('1/1/2021',periods=(len(data_frame))

mplfinance.plot(data_frame, type='candle', datetime_format='%j')

希望有帮助。全面披露:我是 mplfinance 库的维护者。

于 2021-07-14T14:10:29.153 回答