【Python信息可视化实战篇】基于matplotlib分析51job数据信息并制作柱状图

本文介绍了如何使用Python的matplotlib库和xlrd库,分析51job数据信息并制作柱状图。首先,通过xlrd库读取Excel文件并提取城市数据,然后统计各城市职位数量,最后利用matplotlib创建柱状图,解决了中文乱码和负号问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        前几天博主有个Python信息数据可视化的需求,但是博主学python是用来玩网络爬虫的。对于python信息数据可视化类库,也只是熟悉pyecharts。因此,便只能现学现卖直播作mai图yi。在参考着资料学习后,成功的用matplotlib完成了第一幅柱状图。

准备工作

1.python类库:matplotlib库(作图)
2.python类库:xlrd库(导入读取excel文件)
3.数据信息源文件:51plt.xlsx

思路分析

        1.首先观察数据信息excel源文件,明确信息目标。因为我们的目标是制作“职位数按城市分布情况”的柱状图,所以需要提取的列项是“city”。
在这里插入图片描述
        2.要想实现制作“职位数按城市分布情况”的柱状图的小目标,我们首先需要知道各个城市的职位数。这个表格是整合后的数据表格,里面共计10+1个城市项,因此可以通过统计city这一列的数量来完成。
        按照我的想法,可以通过键值对的形式存储数据(城市名称:城市数量)到列表中,再分别一一对应提取到一个新的列表用于制图。
        3.制图问题。这个没什么好说的,主要就是通过matplotlib.pyplot类库进行制图。但是因为导入的excel表格信息数据中具有中文字段,因此需要添加以下两行代码解决中文乱码和负号问题。

plt.rcParams['font.sans-serif'] = ['SimHei']   # 解决中文乱码问题,用于正常显示中文标签(用黑体显示中文)
plt.rcParams['axes.unicode_minus'] = False   # 用于正常显示负号为方块

代码实现

        1.导入excel表格文件。根据我手边资料查阅的结果来看,导入excel表格文件的方法很多,但是又很混乱。而且因为版本的迭代问题,有些类库的方法已经无法使用。最后我使用xlrd库,能够正常导入excel表格数据。具体代码模块如下:

import xlrd

xlsxfile = r"51plot.xlsx"
infors = xlrd.open_workbook(xlsxfile)   # 打开excel文件,创建一个workbook对象
infors.sheets()   # sheets方法返回对象列表
rsheet = infors.sheet_by_index(0)   # 取第一个工作簿

        2.在打开excel文件后,使用row[].value方法便能够提取其中的列项了。row[]数组里面的索引从0开始,观察excel表格,可发现city的索引序号是5。因此我们提取除了第一行“city”外的全部城市项放入列表中。

citys = []   # 创建一个空列表citys[]
for row in rsheet.get_rows():
    city_column = row[5]   # 城市所在的列
    city_infor = city_column.value   # 项目名
    if city_infor != 'city':
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值