Matplotlib 速查手册
简介
Matplotlib 是 Python 进行数据可视化的工具之一,与之相似的工具有 MATLAB。因为我没有学习过MATLAB,在此就不作比较了。
当然,我写这篇文章的初衷是为了“防蠢”,对于不常用的东西确实容易忘记,为了减少以后的学习成本。本系列的主旨是总结 Matplotlib 中的常用功能,精简出一套适合速查使用的模板,希望该篇文章对于你有所帮助。
对于这篇文章中的不常用函数的特性,我并没有进行特别详细的讲解,如果觉得需要改正/补充可以直接提出修改意见,联系方式见博客主页。
这篇速查笔记主要参考这篇博客的讲解顺序及部分内容,毕竟人家写的实在太好了,在这里进行特别感谢。当然,也参考了一些其他博主的文档,因为实在太多,在这里也一并进行感谢。
PS:现在的官方文档已经很标准了,涵盖了各式各样的图形画法,如果有画不了的,可以去参考官网。
安装
Matplotlib 第三方包下载网址:https://pypi.org/project/matplotlib/#files
pip 安装
1 | pip install 第三方包链接(matplotlib) |
PS:可能会存在一些其他的依赖包(numpy等)
基本画图流程
1.基本框架
对于使用 Matplotlib 进行画图,是有一个基本流程的,但是由于网上的资料过于庞杂(面对一个初学者来说,并不知道如何选择),在不考虑时间复杂度即其语句歧义的主旨下,我选择了一个基本流程:
- figure 相当于一个画板,具体来说就是程序运行时跳出来的窗口。当然,你可以在一个程序中创建多个画板。
- axis 可以理解为一个画纸,一个 figure 上可以有一个或多个 axis 。
- matplotlib.pyplot 可以理解为画笔,例如:plt.plot 可以画连线图, plt.scatter 可以用来画散点图。
从上述 画板、画纸、画笔 的关系,其实就可以大概看出 Matplotlib 的整体设计结构。
但是,话说回来,对于只有一张图的时候,并不会进行 figure,axis 的创建,往往都是plt.plot()直接画,因为这样效率高,这里后续代码会直接体现出来。
2.绘画流程
对于使用 Matplotlib 绘制图像,先说明一下大致流程:
- 准备好所要绘制的数据;
- 使用 matplotlib 中对应的图像工具进行绘制描点及备注;
- 将图片显示出来
头文件导入方式
方式1:
1 | import matplotlib.pyplot as plt |
方式2:不推荐
1 | from pylab import * |
基础样例
先在一张图上绘制 正弦 、余弦 图像,然后再进行逐步分析:
1.头文件
1 | import matplotlib.pyplot as plt |
2.准备数据
1 | X = np.linspace(-np.pi, np.pi, 300) |
X 是一个 numpy 数组,包含了从 −π 到 +π 等间隔的 300 个值。
1 | C = np.cos(X) |
C 和 S 则分别是这 300 个值对应的余弦和正弦函数值组成的 numpy 数组。
3.绘图并展示
1 | plt.plot(X, C) |
属性:
Matplotlib 是一个对十分人性化的包,在绘图时很多参数都默认配置好了。当然,你依旧可以进行调整大多数的参数:图片大小和分辨率(dpi)、线宽、颜色、风格、坐标轴、坐标轴以及网格的属性、文字与字体属性等。
参数种类及绘图工具
1.plt.plot() 基本属性
有关点(marker)种类 | 标签(记得加单引号) |
---|---|
像素 | . (默认) |
圆形 | o |
上三角 | ^ |
下三角 | v (小写) |
左三角 | < |
右三角 | > |
方形 | s |
加号 | + |
叉形 | x (小写) |
菱形 | D |
细菱形 | d |
三脚架朝下 | 1 (像’丫’) |
三脚架朝上 | 2 |
三脚架朝左 | 3 |
三脚架朝右 | 4 |
六角形 | h |
旋转六角形 | H |
五角形 | p |
垂直线 | | |
水平线 | _ |
有关颜色(color 简写为 c)的种类 | 标签(记得加单引号) |
---|---|
蓝色 | b |
绿色 | g |
红色 | r |
墨绿色 | c |
红紫色 | m |
黄色 | y |
黑色 | k |
白色 | w |
有关线形(linestyle 简写为 ls)的种类 | 标签(记得加单引号) |
---|---|
实线 | - (减号) |
虚线 | – (减号) |
虚点线 | -. |
点线 | : |
点 | . |
2.设置 “图像 、x轴、y轴” 的标题
图种
1.连线图
1 | import matplotlib.pyplot as plt |
备注:
对于plt.plot()
属性部分 x_list 和 y_list 这两个信息必填,且个数必须相等,其余均可不填。
如何保存图片
1 | import matplotlib.pyplot as plt |
参考资料
Matplotlib 中文文档:https://www.matplotlib.org.cn/
Matplotlib 教学视频:https://morvanzhou.github.io/tutorials/data-manipulation/plt/
参考博客:https://liam.page/2014/09/11/matplotlib-tutorial-zh-cn/