2

我想更改plotly.express条形图图例中项目的顺序。例如,我想在此图上显示午餐前的晚餐(当前的行为对于水平条形图尤其尴尬,因为条形图的顺序与图例顺序相反):

import plotly.express as px
df = px.data.tips()
# Sort to put dinner on top.
df.sort_values('time', ascending=False, inplace=True)
fig = px.bar(df, y='sex', x='total_bill', color='time', barmode='group',
             orientation='h')
fig.update_layout(yaxis={'categoryorder': 'total ascending'})
fig.show()

绘图结果

4

1 回答 1

2

添加legend={'traceorder': 'reversed'}update_layout声明中:

import plotly.express as px
df = px.data.tips()
# Sort to put dinner on top.
df.sort_values('time', ascending=False, inplace=True)
fig = px.bar(df, y='sex', x='total_bill', color='time', barmode='group',
             orientation='h')
fig.update_layout(yaxis={'categoryorder': 'total ascending'},
                  legend={'traceorder': 'reversed'})
fig.show()

情节的结果

于 2020-06-27T14:31:03.550 回答