Estoy un poco luchando por entender este problema: hay dos gráficos con dos datos diferentes pasados en y: data como puede ver en el primer fragmento a continuación, en lugar de escribir manualmente todos los gráficos como en él, y dado que mis datos originales tienen una longitud arbitraria (1, N), ¿hay alguna forma inteligente de definir las gráficas en el bucle for?
Esta es una versión ficticia pero funcional.
Plotly.newPlot("plot", [{ y: [getData()], // calls Math.random() type: 'line', line: { color: 'rgb(142, 142, 142)', width: 1 }, }, { y: [getSData()], // calls Math.random() type: 'line', line: { color: 'rgb(142, 142, 142)', width: 1 }, } ], layout, config);He intentado convertir este fragmento a la versión de bucle for, como mencioné anteriormente, mis datos tienen una longitud arbitraria [[1], ..., [N]].
let ob; let PLOTS = Plotly.newPlot("plot", ob, layout, config) // console.log(pos) => [Array(1)] for (let i = 0; i < pos.length; i++){ ob.y = pos[I] // this spits an error ob.type = 'line' ob.color = 'rgb(142, 142, 142)' } let cnt = 0 setInterval(function(){ Plotly.extendTraces('plot', {y: pos}, [...Array(pos.length).keys()]); cnt ++ if (cnt > 128) { Plotly.relayout("plot", { xaxis: { range: [cnt-128, cnt] } }); } }, 20); Recibo un error Uncaught TypeError: Cannot set properties of undefined (setting 'y') en ob.y = pos[i] No estoy familiarizado con el idioma y los errores, por lo tanto, es posible que necesite un poco de ayuda. Gracias.