plotly / plotly/plotly.py

enable default cascade for template.coloraxis.colorscale in plotly express

Open
#3,747 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature P3
Dominant language
Python
Stars
18.8k
Forks
2.8k
Avg merge
16h 26m
Merged PRs (30d)
21

Description

The official way of controlling the PX colorscale via templates is like this:

import plotly.express as px
import plotly.graph_objects as go

template = go.layout.Template()
template.layout.colorscale.sequential = px.colors.sequential.Blues

px.imshow([[1, 20, 30], [20, 1, 60], [30, 60, 1]], template=template)

But using the following will cause PX to use Viridis because we're providing a template without a default colorscale in the above location... This is pretty counter-intuitive and a relatively reasonable defaults cascade seems possible.

import plotly.express as px
import plotly.graph_objects as go

template = go.layout.Template()
template.layout.coloraxis.colorscale= px.colors.sequential.Blues

px.imshow([[1, 20, 30], [20, 1, 60], [30, 60, 1]], template=template)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing both Plotly Express examples in the issue and compare the resulting colorscales. Trace how PX applies template.layout.colorscale.sequential versus template.layout.coloraxis.colorscale, then add coverage for the expected cascade behavior. Done means the second example uses the supplied Blues colorscale instead of Viridis.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data-visualization
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.