-
-
Notifications
You must be signed in to change notification settings - Fork 2.8k
[Fix] Always respect user-specified color_continuous_scale
#5439
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
+64
−3
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
...autocolorscale=True When a user explicitly provides color_continuous_scale, it should always be respected, even if the template has coloraxis_autocolorscale=True. Previously, the template's autocolorscale setting would override the user's explicit colorscale. The fix tracks whether color_continuous_scale was explicitly provided by the user (before apply_default_cascade fills it from template/defaults), and only sets autocolorscale=False when the user explicitly provided a colorscale. This preserves automatic diverging palette selection when colorscale comes from template/defaults. Changes: - plotly/express/_core.py: Track user_provided_colorscale and conditionally set autocolorscale=False only when user explicitly provides colorscale - plotly/express/_imshow.py: Same fix for imshow() function
Add tests to verify that user-provided color_continuous_scale overrides template autocolorscale=True, and that template autocolorscale is respected when user doesn't provide a colorscale. Changes: - tests/test_optional/test_px/test_colors.py: Add test_color_continuous_scale_autocolorscale() - tests/test_optional/test_px/test_imshow.py: Add test_imshow_color_continuous_scale_autocolorscale()
@antonymilne
antonymilne
changed the title
(削除) Fix: Respect user-specified color_continuous_scale when template has ... (削除ここまで)
(追記) [Fix] Always respect user-specified Dec 2, 2025
color_continuous_scale (追記ここまで)
Add changelog entry for PR plotly#5439 fixing issue where user-specified color_continuous_scale was ignored when template had autocolorscale=True.
5 tasks
Contributor
Author
antonymilne
commented
Jan 13, 2026
@emilykl Happy new year to you! 🎉 Do you think you would be able to take a look at this? 🙏
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Uh oh!
There was an error while loading. Please reload this page.
Fixes #5433. When a user explicitly provides
color_continuous_scale, it should always be respected, even if the template hascoloraxis_autocolorscale=True. Previously, the template'sautocolorscalesetting would override the user's explicit colorscale.A couple of tests are failing but I'm pretty sure it's not my fault.
Here's the behaviour now. Before this PR, all plots in the above table would have looked the same with the exception of the top left one, where the user-specified
color_continuous_scalewould have been ignored.Code PR
plotly.graph_objects, my modifications concern the code generator and not the generated files.