python - 如何在 Pandas 堆积条形图中设置类别的顺序
问题描述
我正在尝试使用自定义排序类别(以不同颜色显示的元素)制作 Pandas 条形图。这是我的代码,我希望类别从下到上的顺序遵循“catorder”:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df2 = pd.DataFrame({"series":["ser1","ser1","ser1", "ser2", "ser2","ser2"],
"cate":["aatu","boiler","heat pump","aatu","boiler","heat pump"],
"val": [6,15,24,7,15, 21] })
ac2 = pd.pivot_table(df2, values = "val", index = "series", columns = "cate")
catorder= ["heat pump","aatu","boiler"]
ac2.columns = pd.CategoricalIndex(ac2.columns.values,
ordered=True,
categories=catorder)
ac2.sort_index(axis = 1)
fig = plt.figure(figsize=(6,3.5))
ax1 = fig.add_subplot(111)
ac2.plot.bar(stacked=True, ax = ax1)
plt.show()
问题是它不起作用。类别仍按字母顺序排列。任何想法如何完成这个常见的任务?
解决方案
推荐阅读
- sql - SQL 仅选择最后一行的用户名
- flutter - Riverpod - 合并提供商时出现问题
- typescript - 如何将区分联合转换为 DU,其中每个案例都是初始 DU 案例的数组
- html - 在移动设备中将滚动方向修改为水平
- java - 找不到适合 jdbc:mysql://localhost::3306/gestionpersonnel?serverTimezone=UTC 的驱动程序
- ios - 使用 SwiftUI 的 ReplayKit 广播上传扩展
- javascript - 如何每隔一秒调用一次函数异步等待?
- javascript - 如何使用 Async/await 将获取的 JSON 数据正确显示到 DOM
- html - 确保 figcaption 宽度永远不会超过图像宽度
- python - 存在 GPU 时如何分析整个 pytorch 代码?