You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python Bokeh调用varea_stack绘制垂直堆叠面积图无显示问题排查

冠状病毒clade时间序列堆叠面积图渲染异常解决方法
  • 首先确认日期列doc的数据格式:Bokeh的datetime类型坐标轴要求x轴对应的数据为pandas datetime格式,如果你的doc列为字符串/object类型,需要先做格式转换:
    import pandas as pd
    cot_pvt['doc'] = pd.to_datetime(cot_pvt['doc'])
    
  • 清理数据空值:varea_stack对NaN值兼容性极差,只要任意一个堆叠列存在空值,就可能出现渲染失败的情况,提前将所有空值填充为0:
    cot_pvt = cot_pvt.fillna(0)
    
  • 确认堆叠列数据类型:所有clade对应的列必须为数值型(int/float),如果为object类型也会导致渲染失败,可手动转换格式:
    stackers = cot_pvt.columns.tolist()
    stackers.remove('doc')
    cot_pvt[stackers] = cot_pvt[stackers].astype(float)
    
  • 如果你要实现归一化堆叠效果,需要先对每行数据做归一化处理,避免数值维度问题导致显示异常:
    # 按行计算每日总检出量
    row_sums = cot_pvt[stackers].sum(axis=1)
    # 每个clade的数值除以当日总检出量得到占比
    cot_pvt[stackers] = cot_pvt[stackers].div(row_sums, axis=0)
    # 归一化后可手动指定y轴范围,避免自动计算轴范围出错
    from bokeh.models import Range1d
    p.y_range = Range1d(0, 1)
    
  • 检查配色配置:确认inferno配色已正确导入,非法颜色值也可能导致渲染异常:
    from matplotlib.cm import inferno
    

内容的提问来源于stack exchange,提问作者Jonathan Barnell

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 23:57:02