此系列文章收录在公众号中:数据大宇宙 > 数据可视化 > mpl
公众号回复"可视化",获取源码与数据
前言
Python 可视化库非常多,其中 matplotlib 是优缺点明显的一个库,优点是他非常灵活,缺点就是学习起来相对复杂。
最近在整理 matplotlib 入门所需核心知识点,会顺带编写各种练习,其中主要关注如何获得快速自学 matplotlib 的思路。
本文目标图表如下:
![b73eb5d4e82577cc91c35df0fc360ca7.png](https://i-blog.csdnimg.cn/blog_migrate/1ee063beaaf942c4f3ecf9f433575e4d.png)
每年小麦产量柱状图
使用不同颜色标记最小与最大值的柱子
画出均值线
matplotlib 有2种风格的 api:
MATLAB 风格,适合数据探索(图表没有过多细节要求,主要能反映数据情况即可)
面向对象风格,适合编写重复自动化的图表任务或封装各种图表功能
面向对象风格非常适合入门,因此我统一使用这种风格
本文所需要的库如下:
![5d62d3c73cea758ff33381e1058f912e.png](https://i-blog.csdnimg.cn/blog_migrate/dc11ef9a446663256e70bd243c956885.png)
基本套路
本次使用 vega_datasets 的小麦数据:
![ea7087365c7dc2ffa122a2f4ccbb848a.png](https://i-blog.csdnimg.cn/blog_migrate/08d6aeaa3279cea0aeadc9629511854d.png)
其中 year 与 wheat 是我们需要的数据
类似在一张纸上画出多种图表,其中纸就是放置图表的容器。在 matplotlib 中,这个容器称为 Figure。
因此,代码如下:
![8c1f9cb418b9b32c2881596e2a427bd2.png](https://i-blog.csdnimg.cn/blog_migrate/db5fafbea81e4cdb12fc81f83b80fcc0.png)
使用 plt.subplots() 能生成新的 figure 与 axes
"axes 是啥玩意?"
其中 axes 就是坐标系,可以把他看作是一个图表。
subplots 默认参数下,只会生成1个图表,因此现在看起来就是"这张纸(Figure)被1个图表(axes)占满"。
显然,