如何绘制以Year_Week为X轴的Pandas DataFrame柱状图?代码求助
问题解决:Matplotlib柱状图绘制失败修复
原代码问题分析
原代码存在几个核心错误:
- 向
Year_Week列表添加的是布尔判断结果(key == 'Year_Week'),而非实际的Year_Week数值 Sales_CSVolume列表全程未填充数据,始终为空- 模块导入语句位置不符合常规规范(建议放在代码开头)
修正后的代码
import matplotlib.pyplot as plt # 给定数据集 data = [ {'index': 0, 'Year_Week': 670, 'Sales_CSVolume': 10}, {'index': 1, 'Year_Week': 680, 'Sales_CSVolume': 8}, {'index': 2, 'Year_Week': 700, 'Sales_CSVolume': 4}, {'index': 3, 'Year_Week': 850, 'Sales_CSVolume': 13} ] Year_Week = [] Sales_CSVolume = [] # 遍历数据集提取所需字段 for elem in data: Year_Week.append(elem['Year_Week']) Sales_CSVolume.append(elem['Sales_CSVolume']) # 可选:打印验证提取的数据 print(f"Year_Week: {elem['Year_Week']}, Sales_CSVolume: {elem['Sales_CSVolume']}") # 绘制柱状图 plt.bar(Year_Week, Sales_CSVolume) plt.xlabel('Year_Week') plt.ylabel('Sales_CSVolume') plt.title('Sales Volume by Year-Week') plt.show()
代码说明
- 直接通过字典键名提取对应值,无需嵌套遍历所有键值对,更高效简洁
- 确保
Year_Week和Sales_CSVolume列表分别填充了对应的数值数据 - 添加坐标轴标签和标题,让图表信息更清晰直观
内容的提问来源于stack exchange,提问作者Satyajit Barik
相关产品推荐
相关产品推荐

