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

基于Plotly.js绘制带X轴延迟的重叠轨迹图技术咨询

实现方案:带延迟的叠加轨迹与指定区间样式修改

核心思路

  • 延迟轨迹生成:基于原始时序数据,将时间轴整体偏移服务器指定的延迟值,生成独立的轨迹层,通过样式(线宽、颜色、虚实线)和层级设置确保显示在原轨迹上方。
  • 旧轨迹区间重绘:将原始轨迹拆分为「非高亮段」和「高亮段」两个独立的绘图对象,对指定区间(示例中0.5-3.5)单独设置颜色或散点线样式,其余部分保留原样式。

代码实现(Python Plotly)

先模拟从服务器获取的原始数据,再完成需求功能:

import plotly.graph_objects as go
import pandas as pd
import numpy as np

# 模拟服务器返回的原始时序数据
time = np.arange(0, 5, 0.1)
value = np.sin(time) + np.random.normal(0, 0.1, len(time))
df = pd.DataFrame({'time': time, 'value': value})

# --- 1. 生成带延迟的新轨迹 ---
delay = 0.5  # 服务器指定的延迟值
# 延迟轨迹的时间轴 = 原始时间轴 + 延迟,需截断末尾无对应数据的部分
delay_time = df['time'][:-int(delay / 0.1)] + delay
delay_value = df['value'][:-int(delay / 0.1)]

# --- 2. 拆分原始轨迹的高亮与非高亮区间 ---
# 非高亮段:时间小于0.5 或 大于3.5
non_highlight = df[(df['time'] < 0.5) | (df['time'] > 3.5)]
# 高亮段:时间在0.5到3.5之间
highlight = df[(df['time'] >= 0.5) & (df['time'] <= 3.5)]

# --- 3. 组装Plotly图表 ---
fig = go.Figure()

# 添加原始轨迹的非高亮部分
fig.add_trace(go.Scatter(
    x=non_highlight['time'],
    y=non_highlight['value'],
    mode='lines',
    name='原始轨迹',
    line=dict(color='#636EFA', width=2)
))

# 添加原始轨迹的高亮部分(散点+线样式)
fig.add_trace(go.Scatter(
    x=highlight['time'],
    y=highlight['value'],
    mode='lines+markers',
    name='原始轨迹(高亮段)',
    line=dict(color='#EF553B', width=3),
    marker=dict(color='#EF553B', size=4)
))

# 添加延迟轨迹,设置在最上层
fig.add_trace(go.Scatter(
    x=delay_time,
    y=delay_value,
    mode='lines',
    name='延迟轨迹(0.5s)',
    line=dict(color='#00CC96', width=4, dash='dash'),
    layer='above'  # 强制显示在所有轨迹上方
))

# 布局优化
fig.update_layout(
    title='时序轨迹:延迟叠加 + 区间高亮',
    xaxis_title='时间',
    yaxis_title='数值',
    legend=dict(orientation='h', yanchor='bottom', y=1.02, xanchor='right', x=1)
)

fig.show()

关键细节说明

  • 延迟轨迹的截断处理:因为延迟后,原始数据的最后delay/时间步长个点没有对应的延迟后时间点,必须截断避免数据错位。
  • 区间拆分逻辑:通过布尔索引拆分DataFrame,将需要重绘的区间单独作为一个Trace,支持灵活修改样式(纯散点、纯线、散点+线均可)。
  • 层级控制:使用layer='above'参数直接将延迟轨迹置于最上层,无需依赖布局堆叠;如果是Plotly.js,可通过trace.order属性控制绘制顺序。

内容的提问来源于stack exchange,提问作者Nagaraju Oggu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 02:40:20