Open
Description
I am creating a histogram plot using plotly express.histogram, like the following:
df = pd.DataFrame({
'month': [5] * 30 + [6] * 30 + [7] * 30,
'value': np.random.randint(0, 100, size=90),
'Module': ['M', 'P']*45,
})
fig = px.histogram(
df,
x='value',
opacity=0.8,
color='month',
category_orders={'month': df['month'].sort_values(ascending=True)},
marginal='box',
barmode='overlay',
facet_col='Module',
)
for trace in fig.data:
if int(trace.name) not in (7,6):
trace.visible = "legendonly"
fig.show()
When I then want to show month 5 as well, the box in marginal is placed at the top of the others, giving the wrong order of month: 5, 7, 6 (red from top to bottom).
The problem does not appear when I don't use the facet_col argument, or when i show all month from the beginning (simply comment the part where i set trace.visible to legendonly).
plotly version: 5.18.0