Reassigning Yaxis Labels Inconsistent When Using hoversubplots & hovermode set
Open
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 18.8k
- Forks
- 2.8k
- Avg merge
- 16h 26m
- Merged PRs (30d)
- 21
Description
I've been having an issue when you define two xaxes and populate three yaxes per xaxis (in a 2x3) grid while setting "hoversubplots= "axis"", with "hovermode= "xunified"". I've found I cannot rename two of the 6 Yaxis labels.
import plotly.graph_objects as go
from datetime import date
from plotly import subplots
import random
def get_test_data():
x_data, y_data = [], []
for v in range(30):
x_data.append(date(2024, 10, v+1))
y_data.append(random.random())
return x_data, y_data
data= []
for yaxis in range(1,7):
if yaxis % 2:
xaxis = "x1"
else:
xaxis= "x2"
x, y = get_test_data()
data.append(go.Scatter(x= x, y= y, xaxis= f"{xaxis}", yaxis= f"y{yaxis}", name= f"Test{yaxis}y{yaxis}"))
titles = ["First","Second","Third","Fourth","Fifth","Sixth"]
layout = dict(
hoversubplots= "axis",
hovermode= "x unified",
title= "Test Plot",
font= dict(
family= "Courier New, monospace",
size= 14,
color= "rgba(255,255,255,1)"),
plot_bgcolor= "rgba(0,0,0,1)",
paper_bgcolor= "rgba(0,0,0,1)",
grid= dict(rows=3, columns=2),
)
figure= subplots.make_subplots(rows= 3, cols=2, subplot_titles= titles, specs= [[{},{}] for i in range(3)])
figure.add_traces(data[0])
figure.add_traces(data[1])
figure.add_traces(data[2])
figure.add_traces(data[3])
figure.add_traces(data[4])
figure.add_traces(data[5])
figure["layout"][f"yaxis1"]["title"] = "yaxis1"
figure["layout"][f"yaxis2"]["title"] = "yaxis2"
figure["layout"][f"yaxis3"]["title"] = "yaxis3"
figure["layout"][f"yaxis4"]["title"] = "yaxis4"
figure["layout"][f"yaxis5"]["title"] = "yaxis5"
figure["layout"][f"yaxis6"]["title"] = "yaxis6"
figure.update_layout(layout)
figure.update_xaxes(gridcolor="rgba(80,80,80,1)", showticklabels= True)
figure.update_yaxes(gridcolor="rgba(80,80,80,1)", autorange= True, showticklabels= True)
figure.show()
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Run the supplied Python reproduction and inspect the generated figure layout and hover behavior for the six y-axes under hoversubplots="axis" and hovermode="x unified". Trace why two assigned y-axis titles are not displayed, and consider the issue complete when all six labels can be renamed consistently and the behavior is covered by a regression test.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- data-visualization
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100