You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Plotly Express柱状图按数值从大到小排序失效问题求助

解决方案

问题核心在于categoryorder仅对**分类轴(字符串类型x值)**生效,而你的x轴是数值型连续轴,所以该参数完全不起作用。另外,对Age列降序排序后,np.histogram仍会按照你指定的bins范围(0-80、步长5)统计,结果自然还是升序的bins。

直接反转统计得到的bins和counts数组,就能实现x轴从80到0降序显示,修改后的代码如下:

import numpy as np
import plotly.express as px

counts, bins = np.histogram(df.Age, bins=range(0, 80, 5))
bins = 0.5 * (bins[:-1] + bins[1:])

# 反转bins和counts的顺序,实现降序显示
bins_reversed = bins[::-1]
counts_reversed = counts[::-1]

fig = px.bar(x=bins_reversed, y=counts_reversed, text_auto=True,
             labels={'x':'Age', 'y':'count'},
             title='Age distribution between min (18) and max(69)')
fig.update_traces(textfont_size=14, textangle=0, textposition="outside", cliponaxis=False)
fig.show()

绘图后x轴会从77.5(对应75-80区间)开始,到2.5(对应0-5区间)结束,完全符合你要的从80到0降序的需求。

内容的提问来源于stack exchange,提问作者GEM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 23:07:38