1

烛台图每分钟更新一次,但动画无法正常工作

我正在从 websocket 更新的 csv 中获取数据。在图表中,尽管蜡烛正在显示,但它们挤压蜡烛之间的空间并且变得越来越小。请让我知道我在做什么错。

    fig = mpf.figure(style='binance',figsize=(12,4))
ax1 = fig.add_subplot(1,1,1)

def animate(ival):
    df = pd.read_csv('bitcoin_data.csv', index_col=0, parse_dates=True)
    df = df[['minute', 'open', 'high',
             'low', 'close']]
    df.minute = pd.to_datetime(df.minute)
    df = df.set_index('minute')

    ax1.clear()
    mpf.plot(df, ax=ax1, type='candlestick', ylabel='price')

ani = animation.FuncAnimation(fig, animate, interval=1000)\

mpf.show()
4

1 回答 1

0

我的猜测是,一段时间后,您正试图绘制太多数据。有关更多信息,请参阅https://github.com/matplotlib/mplfinance/wiki/Plotting-Too-Much-Data

解决方案是修改您的动画函数以仅绘制数据框中最近的 500 到 700 支蜡烛。

也许是这样的:

if len(df) > 600:
    df = df.iloc[-600:-1,:] 
mpf.plot(df, ax=ax1, type='candlestick', ylabel='price')
于 2021-07-09T22:50:13.033 回答