如何禁用plotly express基于颜色分组条形图?

2024-05-15 23:04:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个pandas数据帧,有3列:name、group、value。我想制作一个水平条形图,用绘图的方式从最高值到最低值进行排序,并根据组列中的值对每个条形图进行着色。问题是,当我添加color参数时,条形图也会根据颜色进行排序。有没有可能使这些条不按颜色分组?在

这是我尝试过的。当我在不指定color属性的情况下运行代码时,条形图的排序是正确的。无颜色代码:

import plotly.express as px
px.bar(df, x='value', y='name', orientation='h')
fig.show()

输出与预期一致:

Bars are sorted in descending order

但是,当我添加color属性时,条形图将按颜色排序:

^{pr2}$

这些酒吧有不同的分类: The bars are grouped by colors

有没有办法防止这种酒吧分组的行为?我在python3.7中使用plotly版本4.1.1。我希望这些条像第一个代码块一样排序,但是用group列来着色。在


Tags: 数据代码namepandas属性排序value颜色
1条回答
网友
1楼 · 发布于 2024-05-15 23:04:06

您可以选择在category_orders中显式地提供所需的排序,例如category_orders=dict(group=["Tokyo", "Delhi", ...]),或者如果您只需要按值排序,则可以使用fig.update_layout(yaxis_categoryorder = 'total ascending')将Y轴类别顺序设置为动态的

相关问题 更多 >