matplotlib 包含连续数据的蜡烛图(无日期/时间索引)

bttbmeg0  于 2023-10-24  发布在  其他
关注(0)|答案(1)|浏览(106)

我有一些数据被排列成一个二维的numpy数组。
数据有4列,对应于统计信息:

  • min
  • Max
  • 平均值+ 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列数据要绘制,数据是连续的。
(Note进行一些预处理以计算最小值、最大值、平均值、标准差等。同样,这不是至关重要的,并且本质上使时间信息不相关。
有没有一种方法可以绘制蜡烛图,只需指定数据是“有序的”,x轴应该是“从1到N”,其中N是数据中的样本数。

af7jpaap

af7jpaap1#

有几件事你可以尝试:

  1. matplotlib boxplot.不是烛台,但类似。
    1.使用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库的维护者。

相关问题