Вы можете использовать traceorder
ключ для легенды:
Определяет порядок отображения элементов легенды. Если
«нормально», элементы отображаются сверху вниз в том же порядке, что и
входные данные. Если «перевернуто», элементы отображаются в противоположном
порядок как "нормальный". Если «сгруппированы», элементы отображаются в группах
(когда указана legendgroup
). если "сгруппировано + перевернуто", то
элементы отображаются в обратном порядке как «сгруппированные».
В вашем случае вам следует изменить определение layout
:
layout = go.Layout(
barmode='stack',
title=f'{measurement}',
xaxis=dict(
title='Count',
dtick=0),
yaxis=dict(
tickfont=dict(
size=10,
),
dtick=1),
legend={'traceorder':'normal'})
)
без спецификации трассировщика
import plotly.graph_objs as go
from plotly.offline import init_notebook_mode, iplot
init_notebook_mode(connected=True)
trace1 = go.Bar(x=['A', 'B', 'C'],
y=[20, 14, 23],
name='first')
trace2 = go.Bar(x=['A', 'B', 'C'],
y=[12, 18, 29],
name='second')
data = [trace1, trace2]
layout = go.Layout(barmode='stack',)
fig = go.Figure(data=data, layout=layout)
iplot(fig, filename='stacked-bar')
со спецификацией трассировщика
import plotly.graph_objs as go
from plotly.offline import init_notebook_mode, iplot
init_notebook_mode(connected=True)
trace1 = go.Bar(x=['A', 'B', 'C'],
y=[20, 14, 23],
name='first')
trace2 = go.Bar(x=['A', 'B', 'C'],
y=[12, 18, 29],
name='second')
data = [trace1, trace2]
layout = go.Layout(barmode='stack',
legend={'traceorder':'normal'})
fig = go.Figure(data=data, layout=layout)
iplot(fig, filename='stacked-bar')