微信公众号:yale记
关注可了解更多的教程。问题或建议,请公众号留言;
背景介绍
今天我们学习使用Matplotlib创建条形图表,非常适合展示每个类别对应的总值方式显示数据,将学习从csv文件中加载数据,并将数据进行条形图表的方式展示,csv文件内容为统计8万多人日常工作中使用的编程语言,我们来用图形展示最流行的top 15编程排名图表。
代码实战
首先我们先看data.csv的内容,一共有两列:第一列为使用者的id,第二列为使用的编程语言并用逗号分隔,部分数据截图:
接下来我们编码实现图表展示:import pandas as pd
from collections import Counter
from matplotlib import pyplot as plt
from matplotlib import font_manager
#设置图表样式
plt.style.use('fivethirtyeight')
#这里使用pandas读取csv文件
data = pd.read_csv('data.csv')
ids= data['Responder_id']
langs = data['LanguagesWorkedWith']
#定义一个Counter
#用来计算编程语言分类的总数
language_counter = Counter()
for lang in langs:
language_counter.update(lang.split(';'))
languages = []
popularity = []
#取前15个流行的语言
for item in language_counter.most_common(15):
languages.append(item[0])
popularity.append(item[1])
#倒序显示
languages.reverse()
popularity.reverse()
#设置图表的字体微软雅黑 防止中文乱码的
zh_font = font_manager.FontProperties(fname='C:\\Windows\\Fonts\\msyh.ttf')
#使用横向条形图表
plt.barh(languages,popularity)
plt.title("最受欢迎的的语言排名",fontproperties=zh_font)
plt.xlabel("使用人数",fontproperties=zh_font)
plt.tight_layout()
plt.show()
运行效果:
关注公号
下面的是我的公众号二维码图片,欢迎关注。