如何修改Plotly代码以使用时间戳作为x值扩展多轨迹?
解决Plotly扩展轨迹时x值不生效的问题
需要做两处关键修改:
初始化图表时为每条轨迹添加空的x数组
原初始化代码仅定义了y: [],缺少x: []字段,Plotly无法对不存在的数组执行扩展操作。修改后的初始化代码:Plotly.newPlot('graph', [{ y: [], x: [], // 添加空x数组 mode: 'lines+markers', marker: {color: 'pink', size: 8}, line: {width: 4} }, { y: [], x: [], // 添加空x数组 mode: 'lines+markers', marker: {color: 'gray', size:8}, line: {width: 4} }]);取消注释x相关扩展代码
移除x: [[Date.now()],[Date.now()]]前的注释,确保每次扩展轨迹时同时传入x轴时间戳数据:var interval = setInterval(function() { Plotly.extendTraces('graph', { y: [[rand()], [rand()]], x: [[Date.now()],[Date.now()]] // 取消注释 }, [0, 1]) cnt = cnt+1; if(cnt === 100) clearInterval(interval); }, 500);
核心原因:Plotly的extendTraces方法仅能扩展已存在的数组字段,若初始化阶段未定义x数组,后续传入的x数据会被忽略,无法添加到轨迹中。
内容的提问来源于stack exchange,提问作者Oblomov
相关产品推荐
相关产品推荐

