python对CSV文件进行可视化-柱状图
Posted 叶叶酱
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python对CSV文件进行可视化-柱状图相关的知识,希望对你有一定的参考价值。
# 加载数据分析常用库
import csv
import matplotlib.pyplot as plt
filename = r\'D:\\learn\\project\\reptile\\job.csv\'
with open(filename) as f:
# 创建阅读器,调用csv.reader()将前面存储的文件对象作为实参传给他
reader = csv.reader(f)
# 调用next()一次,将文件的第一行存储在header_now中
header_now = next(reader)
# 根据索引提取公司名称及薪资范围,并存储在列表中
money = []
for row in reader:
money.append(row[2])
"""
从获取的薪资范围列表中分别提取出每个公司给出的最低薪资和最高薪资,
并将提取到的字符串转化为float格式存储
"""
# 设置变量
one = []
two = []
three = []
four = []
five = []
listmoney = []
for m in money:
num = m.split(\'-\') # 通过‘-’分割
low = num[0] # 提取最低薪资
high = num[1].split(\'万/月\')[0] # 提取最高薪资,并将后缀单位去除
# 转化数据格式为float
lows = float(low)
highs = float(high)
listmoney.append(lows)
listmoney.append(highs)
for i in listmoney:
if 0 < i <= 1:
one.append(i)
elif 1.0 < i <= 1.5:
two.append(i)
elif 1.5 < i <= 2.0:
three.append(i)
elif 2.0 < i <= 2.5:
four.append(i)
elif i >= 2.5:
five.append(i)
"""
绘制柱状图
"""
# 用来正常显示中文标签
plt.rcParams[\'font.sans-serif\'] = [\'SimHei\']
# 图标描述
labels = [\'0-1万/月\', \'1-1.5万/月\', \'1.5-2万/月\', \'2~2.5万/月\', \'2.5+ 万/月\']
# 对应变量
values = [len(one), len(two), len(three), len(four), len(five)]
print(values)
# 图表题目
plt.title("上海市软件测试薪资分布", fontsize=16, pad=15)
# 各项属性
plt.tick_params(axis=\'both\', which=\'major\', labelsize=10)
plt.bar(labels,values,bottom= 10)
# 显示图片
plt.show()
显示效果:
以上是关于python对CSV文件进行可视化-柱状图的主要内容,如果未能解决你的问题,请参考以下文章
100天精通Python(可视化篇)——第80天:matplotlib绘制不同种类炫酷柱状图代码实战(簇状堆积横向百分比3D柱状图)