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

如何调整Plotly绘制的饼图图例为指定的自定义排序顺序

Plotly饼图自定义图例顺序解决方案

核心实现逻辑

Plotly饼图默认会按数值从高到低排序后渲染图例,关闭默认排序规则、将类别按你需要的顺序传入即可实现自定义图例排序,具体操作步骤如下:

  • 先定义你的目标自定义顺序列表:
    custom_order = ["80+", "61-80", "41-60", "21-40", "11-20", "below 21"]
  • 整理数据时按照上述自定义顺序重排类别和对应数值,保证传入的类别序列和你需要的图例顺序完全一致
  • 绘制饼图时添加sort=False参数,关闭Plotly默认的数值排序逻辑

完整代码示例

# 以plotly.express为例
import plotly.express as px
import pandas as pd

# 示例数据,你可以替换成自己的真实数据
raw_data = pd.DataFrame({
    "category": ["below 21", "11-20", "21-40", "41-60", "61-80", "80+"],
    "count": [12, 18, 22, 27, 14, 7]
})

# 定义目标顺序
custom_order = ["80+", "61-80", "41-60", "21-40", "11-20", "below 21"]
# 按目标顺序重排数据集
sorted_data = raw_data.set_index("category").reindex(custom_order).reset_index()

# 绘制饼图,指定类别顺序
fig = px.pie(sorted_data, 
             values="count", 
             names="category",
             category_orders={"category": custom_order})

# 如果使用plotly.graph_objects,写法如下
# import plotly.graph_objects as go
# fig = go.Figure(data=[go.Pie(
#     labels=sorted_data["category"],
#     values=sorted_data["count"],
#     sort=False # 关键参数,关闭默认排序
# )])

fig.show()

参考效果

参考效果图

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 04:54:03