700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Python读取excel表格数据并绘制成柱状图 | 数据排序 柱状图颜色 标签乱码等问题通

Python读取excel表格数据并绘制成柱状图 | 数据排序 柱状图颜色 标签乱码等问题通

时间:2019-06-26 09:39:51

相关推荐

Python读取excel表格数据并绘制成柱状图 | 数据排序 柱状图颜色 标签乱码等问题通

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 pdimport matplotlib.pyplot as pltfrom matplotlib import rcParamsrcParams['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 rcParamsrcParams['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 pdimport matplotlib.pyplot as pltfrom matplotlib import rcParamsrcParams['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自学之路上的心得!

Python读取excel表格数据并绘制成柱状图 | 数据排序 柱状图颜色 标签乱码等问题通通能够解决!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。