Plotly绘制Heikin Ashi图表无数据显示问题求助
修复Plotly Heikin Ashi图表无数据显示的问题
核心问题及修复步骤:
- 移除硬编码Y轴范围:代码中
yaxis_range = [1500,2500]强制图表显示远低于当前BTCUSD实际价格的区间,删除该行后Plotly会自动适配数据的价格范围,这是数据不显示的主要原因。 - 统一浮点数据类型:Bybit API返回的OHLC字段为字符串,需提前转换为float类型,避免计算和渲染时出现类型不兼容问题。
- 修正Heikin Ashi开盘价计算逻辑:使用明确的列索引赋值,避免循环中因类型或索引错误导致的数据异常。
修正后的关键代码片段:
# 提前转换所有OHLC列为浮点型 D[['open', 'close', 'high', 'low']] = D[['open', 'close', 'high', 'low']].astype(float) # 计算Heikin Ashi收盘价 HAdf['close'] = round((D['open'] + D['high'] + D['low'] + D['close']) / 4, 2) # 计算Heikin Ashi开盘价 HAdf['open'] = 0.0 HAdf.iloc[0, HAdf.columns.get_loc('open')] = round((D['open'].iloc[0] + D['close'].iloc[0]) / 2, 2) for i in range(1, len(D)): HAdf.iloc[i, HAdf.columns.get_loc('open')] = round((HAdf['open'].iloc[i-1] + HAdf['close'].iloc[i-1]) / 2, 2) # 更新布局时移除限制Y轴范围的参数 fig2.update_layout(title = 'Heikin Ashi Chart', xaxis_title = 'Date', yaxis_title = 'Price')
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

