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

如何用Plotly Express实现国债收益率数据的折线图动画?

解决Plotly折线图动画问题

你的问题核心是数据格式不匹配加上参数设置错误——直接用宽格式的DataFrame做动画折线图,Plotly Express没法正确解析每个帧的数据对应关系,而且你把x和y轴的参数搞反了。

修复步骤:

  1. 将宽格式DataFrame转为长格式
    Plotly Express的动画功能需要长格式数据(每一行对应一个数据点),用pandas.melt()完成转换:

    import pandas as pd
    import plotly.express as px
    
    # 假设你的原始DataFrame名为df,结构为Date, 1Mo, 2Mo, 3Mo, 6Mo, 1Yr, 2Yr
    df_long = df.melt(
        id_vars='Date',  # 保留Date作为每个数据点的日期标识
        var_name='Tenor',  # 将原期限列名(1Mo/2Mo等)转为统一的Tenor字段
        value_name='Yield'  # 将原收益率数值转为统一的Yield字段
    )
    
  2. 正确设置Plotly绘图参数
    转换后,x轴对应期限(Tenor),y轴对应收益率(Yield),animation_frame绑定Date字段:

    fig = px.line(
        df_long,
        x='Tenor',
        y='Yield',
        animation_frame='Date',
        title="Treasury Yields",
        labels={'Yield': '收益率', 'Tenor': '期限'}  # 可选:自定义轴标签,提升可读性
    )
    fig.show()
    

原代码无效的原因:

  • 宽格式数据无法让Plotly识别“单日期下多个期限对应收益率”的折线映射关系;
  • 错误地将y参数设为Date,应该把收益率数值作为y轴,期限类别作为x轴。

内容的提问来源于stack exchange,提问作者Kai Zhang

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 13:10:46