本节开始一个全新的系列,是整套 Python 第三阶段的课。我把整套知识体系分成四个模块:
- Python 基础
- 数据分析:NumPy, Pandas, SciPy
- 数据可视化:Matplotlib, Seaborn, Bokeh, Plotly/Cufflinks, PyEcharts
- 机器学习:Scikit Learn, Scikit Plot, Keras
这是 Python 数据可视化系列的第一节《Matplotlib 上》,之前两大系列的所有课程链接如下。
Python 数据分析
- NumPy 上
- NumPy 下
- Pandas 上
- Pandas 下
- SciPy 上
- SciPy 下
- Pandas 时间序列
- Pandas 高频数据采样
- 默顿模型计量经济资本
- LSMC 定价美式和百慕大期权
- 负油价和负利率模型
- Nelson-Siegel 构建债券收益率曲线
- 外汇交易组合保证金制定系统
- FR007 利率掉期定价和曲线拔靴
- 量化投资 - 向量化回测
Python 基础
- 编程概览
- 元素型数据
- 容器型数据
- 流程控制:条件-循环-异常处理
- 函数上:低阶函数
- 函数下:高阶函数
- 类和对象:封装-继承-多态-组合
- 字符串专场:格式化和正则化
- 解析表达式:简约也简单
- 生成器和迭代器:简约不简单
- 装饰器:高端不简单
人是感官动物!图永远比字直观!一图胜千言!因此学会 Python 工具做可视化是一项非常重要的技能,在 Python 众多画图工具中,Matplotlib 一定是最早应该学习的。下图类比人类和 Matplotlib 画图三部曲。
Matplotlib 是一个巨无霸,咋一看无从下手,只能分解之后各点击破。总体来说,它包含两类元素:
- 基础 (primitives) 类:线 (line), 点 (marker), 文字 (text), 图例 (legend), 网格 (grid), 标题 (title), 图片 (image) 等。
- 容器 (containers) 类:图 (figure), 坐标系 (axes), 坐标轴 (axis) 和刻度 (tick)
基础类元素是我们想画出的标准对象,而容器类元素是基础类元素的寄居出,它们也有层级结构。
代码语言:javascript复制
代码语言:javascript复制 图 → 坐标系 → 坐标轴 → 刻度
代码语言:javascript复制
由上图看出:
- 图包含着坐标系 (多个)
- 坐标系由坐标轴组成 (横轴 xAxis 和纵轴 yAxis)
- 坐标轴上面有刻度 (主刻度 MajorTicks 和副刻度 MinorTicks)
创造完以上四个容器类元素后,便可在它们“身上”添加各种基础类元素。
- 在坐标轴和刻度上添加标签
- 在坐标系中添加线、点、网格、图示、标记和文字
- 在图中添加标题
理解了 Matplotlib 里面的绘图逻辑和元素后,再可以分别从不同维度 (深度和广度) 研究画图:
- 深度探索:研究折线图,但根据需求不断更新设置添加元素完善它,深度研究做到完美!(本节主要内容)
- 广度探索:研究如何画合适图、有效图、动态图和立体图,却没在美感上做到完美,广度研究满足需求!(下节主要内容)