修改两组图的顺序
时间: 2023-10-31 10:05:19 浏览: 75
要修改两组图的顺序,可以先按照需要的顺序重新排列数据,然后再进行绘图。可以使用 `sort_values` 方法对数据进行排序。修改代码如下:
```
import pandas as pd
import matplotlib.pyplot as plt
# 创建 DataFrame
df = pd.DataFrame({
'姓名': ['张三', '李四', '王五', '赵六', '钱七', '孙八'],
'年级': [1, 2, 1, 2, 3, 3],
'上网时长段': ['<1h', '1-2h', '2-3h', '3-4h', '4-5h', '>5h']
})
# 按年级和上网时长段分组,并统计每个年级内每个上网时长段的学生人数
result = df.groupby(['年级', '上网时长段'])['姓名'].count().unstack()
# 修改列的顺序
result = result.reindex(columns=['<1h', '1-2h', '2-3h', '3-4h', '4-5h', '>5h'])
# 对每个年级内的数据按照总人数进行排序
result = result.apply(lambda x: x.sort_values(ascending=False), axis=1)
# 绘制合并后的条形图
fig, ax = plt.subplots(figsize=(8, 6))
result.plot(kind='bar', ax=ax, width=1)
ax.legend(title='年级')
ax.set_xlabel('上网时长段', rotation=90)
ax.set_ylabel('学生人数')
plt.show()
```
这段代码中,我们在使用 `apply` 方法对每个年级内的数据进行排序,排序的依据是每个上网时长段的学生人数。为了方便展示,这里我们将每个年级内的数据按照总人数进行排序。
阅读全文