数据可视化-Matplotlib读取csv文件生成条形图表

微信公众号: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()

运行效果:

关注公号

下面的是我的公众号二维码图片,欢迎关注。

原文发布于微信公众号 - yale记(python_yale_learning)

原文发表时间:2019-07-31

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

编辑于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券