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

如何基于另一条折线的索引修改Plotly折线的指定区段颜色

实现方案

你需要先确定预测值的起始坐标,再将实际值折线拆分为两段分别设置颜色即可,修改后的可运行代码如下:

import pandas as pd
import plotly.graph_objects as go
from plotly.offline import plot

x_data = out.index
# 定位预测值第一个非空的起始位置
pred_start_idx = out[out['Predicted_Values'].notna()].index[0]

# 预测起始前的实际值:保留蓝色
trace_actual_before = go.Scatter(
    x=out.loc[:pred_start_idx].index,
    y=out.loc[:pred_start_idx, 'Actual_Values'],
    name="Actual Values",
    line=dict(color='blue')
)
# 预测起始后的实际值:切换为自定义颜色,示例为绿色,关闭图例避免重复
trace_actual_after = go.Scatter(
    x=out.loc[pred_start_idx:].index,
    y=out.loc[pred_start_idx:, 'Actual_Values'],
    name="Actual Values",
    line=dict(color='green'),
    showlegend=False
)
# 预测值折线:保持红色
trace_pred = go.Scatter(
    x=x_data,
    y=out['Predicted_Values'],
    name="Predictions",
    line=dict(color='red')
)

traces = [trace_actual_before, trace_actual_after, trace_pred]

layout = go.Layout(
    xaxis=dict(
        autorange=True
    ),
    yaxis=dict(
        autorange=True
    )
)

fig = go.Figure(data=traces, layout=layout)
plot(fig, include_plotlyjs=True)

如果你的预测值序列是从固定索引位开始而非通过NaN判断,可直接给pred_start_idx赋值对应索引即可,切换后的颜色可自行修改trace_actual_after中color参数的取值。

内容的提问来源于stack exchange,提问作者Pardeep Kumar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 08:15:03