-
-
Notifications
You must be signed in to change notification settings - Fork 2.8k
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()`