防止在分类 x 轴上按颜色组对点进行绘图表达散布

问题描述 投票:0回答:1

我想绘制以下数据框,行按“freq”列的值排序:

# import pandas as pd
# import plotly.express as px

               EC_name            freq         EC_class
1.1.1.1        1.1.1.1        1.000000  Oxidoreductases
2.7.7.41      2.7.7.41        1.000000     Transferases
4.2.99.18    4.2.99.18        1.000000           Lyases
2.3.1.12      2.3.1.12        1.000000     Transferases
1.5.1.2        1.5.1.2        1.000000  Oxidoreductases
...                ...             ...              ...
1.13.12.22  1.13.12.22        0.006494  Oxidoreductases
2.1.1.114    2.1.1.114        0.006494     Transferases
3.6.1.15      3.6.1.15        0.006494       Hydrolases
1.21.4.3      1.21.4.3        0.006494  Oxidoreductases
1.17.3.2      1.17.3.2        0.006494  Oxidoreductases

第一次尝试符合预期:

fig = px.scatter(df,
    x = "EC_name",
    y = "freq",
    height=500,
    width=500,
    labels={"EC_name": "ECs", "freq": "Frequence in observations"})

但是,当我添加颜色代码

color="EC_class"
时,它会通过将类别分组在一起/按
EC_name
而不是按
freq
列的值对x轴排序来弄乱结果:

如何添加颜色并保持原始顺序?

谢谢

plotly scatter-plot plotly-python
1个回答
0
投票

category_orders={"EC_name": df.index}
函数中添加
px.scatter
解决了这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.