-
-
Notifications
You must be signed in to change notification settings - Fork 2k
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; | |
| } |