Python读取excel表格数据并绘制成柱状图 | 数据排序、柱状图颜色、标签乱码等问题通通能够解决!
程序员文章站
2022-07-14 17:35:40
...
hello大家好,
我是你们的可爱丸,
我们又见面啦!
python的功能十分强大,
它不仅可以用来做爬虫,
还可以用来做数据分析哦!
那么今天我就带着大家
用python 分析表格数据,并绘制成柱状图,
让大家感受一下用python来绘制图表是一种什么感觉。
这是我们今天要分析的表格数据:表格名称为test.xlsx
,分为两列,一列是包含姓名信息,一列是包含年龄信息
1、首先我们需要在python中读取表格test.xlsx
的数据,并在控制台输出表格数据,检查所选择的表格是否为目标表格
#导入需要用到的模块
import pandas as pd
#读取目标表格文件,并用people代表读取到的表格数据
people = pd.read_excel('test.xlsx')
#在控制台中输出表格数据
print(people)
2、将表格数据中的姓名那一列数据设为X轴,年龄那一列数据设为Y轴,并通过plt.show()
将柱状图输出
#导入需要用到的模块
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib import rcParams
rcParams['font.family'] = 'simhei'
#读取目标表格文件,并用people代表读取到的表格数据
people = pd.read_excel('test.xlsx')
#在控制台中输出表格数据
print(people)
#x轴是姓名,y轴是年龄
people.plot.bar(x='姓名',y='年龄')
plt.show()
3、因为表格数据都为中文,所以在图表中出现了文字乱码的情况,这个时候需要在代码中添加如下中文处理模块,标签文字就会正常显示了。
from matplotlib import rcParams
rcParams['font.family'] = 'simhei'
4、虽然标签的乱码已经解决了,但是我们发现:标签方向、数据排列顺序、柱状图颜色都还没有设置好,所以我们可以通过:
-
plt.xticks(rotation=360)
来调整标签方向 -
ascending=False
来使数据降序排列,默认为升序排列 -
color='blue'
将柱状图颜色统一设置为蓝色
注: 对柱状图进行处理后,还需要对inplace
参数进行设置,将inplace
设置为True
才能成功的显示出修改后的表格。
pandas 中 inplace 参数在很多函数中都会有,它的作用是:是否在原对象基础上进行修改
inplace = True:不创建新的对象,直接对原始对象进行修改;
inplace = False:对数据进行修改,创建并返回新的对象承载其修改结果。
完整代码如下:
# 微信公众号:chimuyhs 【可爱丸学python】 关注并回复:源码 即可获取源代码
# QQ学习交流群:983460742
#导入需要用到的模块
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib import rcParams
rcParams['font.family'] = 'simhei'
#读取目标表格文件,并用people代表读取到的表格数据
people = pd.read_excel('test.xlsx')
#x轴是姓名,y轴是年龄,让直方图排序显示,默认升序
people.sort_values(by='年龄',inplace=True,ascending=False)
#在控制台中输出表格数据
print(people)
#将直方图颜色统一设置为蓝色
people.plot.bar(x='姓名',y='年龄',color='blue')
#旋转X轴标签,让其横向写
plt.xticks(rotation=360)
plt.show()
运行效果如下:
好啦,今天的教程就分享到这里啦,如果你觉得有用的话记得点赞、转发支持一下哦~
如果你还想学习更多有关python的学习教程,那就关注我吧,我将定期和大家分享python自学之路上的心得!