之前面试被问到的图表绘制问题,因为涉及项目的时候,经常会做一些报表之类的,那么这样的数据统计图表绘制报表该怎么做,需要用到哪些技术呢?接下来几篇面试文章将会讲解一些常见图表绘制工具与用法,比如matplotlib和前端echarts.js等,本公众号文章所有代码都免费开源,在环境没问题的情况下,也尽可能会做到你那边只要运行就能跑,最大限度不出现差错。matplotlib绘制条形图:首先看效果,很常见的图形,横坐标是名字,纵坐标是分数
from matplotlib import pyplot as plt
from matplotlib import font_manager
# 解决中文乱码
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['font.serif'] = ['SimHei']
# 设置字体
my_font = font_manager.FontProperties()
# 设置画布大小
plt.figure(figsize=(20,10),dpi=80)
# 每个名称和分数,必须一一对应
a = ["小张","小李","小王","小赵","小孙","小钱","小武","小郑","小冯","小码"]
b=[55,80,75,90,82,30,42,99,54,66]
# 条形图
plt.bar(a,b, align='center',color='orange',alpha=0.8)
# x轴刻度
plt.xticks(range(len(a)),a,rotation=0,fontproperties=my_font)
# 绘制网格
plt.grid(alpha=0.2,color="#cccccc")
# 设置y轴范围
plt.ylim([0,100])
# 设置标题
plt.ylabel("姓名",fontproperties=my_font)
plt.xlabel("分数",fontproperties=my_font)
plt.title("姓名分数条形图",fontproperties=my_font)
# 显示图形
plt.show()
代码如上,注释写的很清楚,不过有几点需要注意
1、中文乱码问题,需要加两行代码解决中文乱码问题
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['font.serif'] = ['SimHei']
2、图形属性,bar是条形图,可以控制颜色透明度位置、宽度等
plt.bar(a,b, align='center',color='orange',alpha=0.8)
3、绘制刻度,需要注意有多少个刻度,range(len(a)),rotation是旋转角度,有时候可以用来字体倾斜
plt.xticks(range(len(a)),a,rotation=0,fontproperties=my_font)
4、用来约束y轴的坐标范围
plt.ylim([0,100])
5、其他的诸如标题、轴标签等更多属性可以参考官方文档查询6、展示图形,必须要用show()来展示
plt.show()
python爬虫人工智能大数据公众号