提问人:Fabitosh 提问时间:11/11/2023 最后编辑:Fabitosh 更新时间:11/11/2023 访问量:32
按 CategoricalDtype 顺序对绘图图进行排序
Order plotly figure by CategoricalDtype order
问:
目标是按顺序可视化每个组的箱线图。组是和有序的。
我没有设法阴谋尊重秩序。相反,它仅按字母顺序排序。pd.CategoricalDtype
import pandas as pd
import numpy as np
import plotly.express as px
df = pd.DataFrame({'group': list('CAACCBAA'), 'values': np.random.random(8)})
cat_ordered = pd.CategoricalDtype(categories=['B', 'C', 'A'], ordered=True)
df['group'] = df['group'].astype(cat_ordered)
fig = px.box(df, x='group', y='values',
category_orders={'group': list(df.group.cat.categories)})
fig.update_xaxes(categoryorder='category ascending')
fig.show()
我相信 plotly 不会从 pandas 数据帧中接管顺序,但手动设置它也无济于事。
plotly==5.17.0
答:
1赞
Timeless
11/11/2023
#1
Plotly 似乎以不同的方式对待和索引
对象。list
传递后者(按类别
返回)可以解决问题:
fig = px.box(df, x='group', y='values', template='plotly_dark',
category_orders={'group': cat_ordered.categories}) # <-- updated
# or df.group.cat.categories
fig.show();
评论
1赞
Fabitosh
11/11/2023
甚至还要付出额外的努力在黑暗模式下创建情节。非常感谢您的帮助!
评论