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

Plotly Express散点图添加颜色分组后保留原排序的方法

解决Plotly Express散点图保留原排序同时添加颜色分组的问题
  • 先确认你的DataFrame已经按freq列完成排序,示例代码:

    df_sorted = df.sort_values('freq', ascending=False)
    
  • 将x轴对应的列(比如你用到的EC_name)转换为分类类型,并明确指定分类顺序为排序后该列的唯一值顺序:

    df_sorted['EC_name'] = pd.Categorical(
        df_sorted['EC_name'],
        categories=df_sorted['EC_name'].unique(),
        ordered=True
    )
    
  • 最后调用px.scatter绘图,此时添加color="EC_class"参数后,x轴会严格保留你之前按freq排序的顺序:

    import plotly.express as px
    
    fig = px.scatter(df_sorted, x='EC_name', y='freq', color='EC_class')
    fig.show()
    

原理很简单:Plotly在处理普通字符串类型的x轴时,会自动按分组或字母顺序重排;但如果是有序分类类型,就会完全遵循你预先指定的顺序渲染,这样就能同时实现颜色分组和保留原排序的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 06:28:10