You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Matplotlib/Seaborn切换轴标签并绘制正确的部门-数量柱状图

解决方法:用柱状图替代直方图实现需求

错误原因

你用错了图表类型:plt.hist()是直方图,作用是对数值型数据做分组频率统计,比如统计不同数量区间的部门个数,这和你要展示「每个部门对应具体数量」的需求完全不符。直接传入整个DataFrame还会因为参数类型不匹配报错。

你的数据属于「分类标签+对应数值」的结构,应该用**柱状图(Bar Plot)**来展示。


完整实现代码

第一步:读取数据

先正确读取CSV文件(跳过末尾多余的逗号):

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

# 读取数据,指定有效列避免读取空列
deptgroups = pd.read_csv('datagroups.csv', usecols=['department', 'count'])

方法1:Matplotlib原生实现

# 绘制柱状图:x轴为部门名称,y轴为对应数量
plt.bar(x=deptgroups['department'], height=deptgroups['count'])

# 设置轴标签与标题
plt.xlabel('部门名称')
plt.ylabel('数量')
plt.title('各部门数量统计')

# 旋转x轴标签,避免长名称重叠
plt.xticks(rotation=45, ha='right')

# 自动调整布局,防止标签被截断
plt.tight_layout()
plt.show()

方法2:Seaborn简化实现

Seaborn的barplot可以直接关联DataFrame列名,代码更简洁:

# 绘制柱状图,直接指定x、y列名和数据源
sns.barplot(x='department', y='count', data=deptgroups)

# 设置轴标签与标题
plt.xlabel('部门名称')
plt.ylabel('数量')
plt.title('各部门数量统计')

# 优化x轴标签显示
plt.xticks(rotation=45, ha='right')
plt.tight_layout()
plt.show()

内容的提问来源于stack exchange,提问作者AFord_PandaBean

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 06:15:32