remove cached trace._interpz
from heatmaps/contour maps with gaps
#2657
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #2652 - turns out this isn't a react-specific issue, it's just about changing z data for contours with gaps in the data (and heatmaps with
connectgaps: true
). We were caching the interpolation results, even across recalc calls, because this can be a pretty slow (iterative) process. I removed that cache, after first trying to figure out whether we could salvage it, based on comparing the incoming known (non-interpolated) z values to the old ones. It turned out that was difficult (and expensive) to get right, especially for edge cases like removing a previously filled-in value without changing anything else.We're doing a better job than we used to do (3+ years ago when this cache was added) at avoiding unnecessary recalcs, so I don't think this should be too big a cost, but this is more motivation to push in that direction, especially things like recalc'ing only the traces that need it.
cc @etpinard