-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Closed
Labels
Description
Consider
Plotly.newPlot('graph', [{
y: [1, 2, 1]
}, {
y: [2, 1, 2]
}, {
y: [3, 2, 3]
}])
.then(gd => {
console.log(gd._fullData.map(t => t.uid))
// => ['0', '1', '2']
return gd
})
.then(gd => {
return Plotly.deleteTraces(gd, [0])
})
.then(gd => {
console.log(gd._fullData.map(t => t.uid))
// (currently) => ['0', '1']
// (in 1.38.x) => ['1', '2']
})
In a codepen: https://codepen.io/etpinard/pen/KBmVYB?editors=1010
This is probably due to #2681 and probably leads to bugs (not yet reported) when deleting traces in subplots that track traces using uids e.g. gl3d:
plotly.js/src/plots/gl3d/scene.js
Lines 452 to 471 in 180b6b9
for(i = 0; i < sceneData.length; ++i) { | |
data = sceneData[i]; | |
if(data.visible !== true) { | |
continue; | |
} | |
trace = this.traces[data.uid]; | |
if(trace) { | |
if(trace.data.type === data.type) { | |
trace.update(data); | |
} else { | |
trace.dispose(); | |
trace = data._module.plot(this, data); | |
this.traces[data.uid] = trace; | |
} | |
} else { | |
trace = data._module.plot(this, data); | |
this.traces[data.uid] = trace; | |
} | |
trace.name = data.name; | |
} |