文章目录
0 前期教程
1 概述
在上面的前期教程中,介绍了在PyQt5中如何绘制曲线,是使用PyQt5的一些第三方扩展包来实现的,但是提到python中的画图,matplotlib才是最受欢迎的工具,因此,在PyQt5界面中集成一个matplotlib绘制的图非常有用。
2 matplotlib
在开始之前,我们先来系统地复习一下matplotlib这个库。学习一个库,首先要参考的肯定是官网——https://matplotlib.org/stable/
如果使用这个库较多,强烈建议完整看一遍Quick start guide,这样会对这个库有一个整体的认识,也更利于理解他人的代码。以下内容也基本摘自该教程。
2.1 库导入
首先是库导入,一般采用以下这种方式:
import matplotlib.pyplot as plt
import numpy as np
import matplotlib as mpl
注意:在一些比较老的代码中,可能会看到
import matplotlib.pylab as plt
这样的代码,这个pylab
是已经被弃用的库。
2.2 图片的各个部分解释
在绘制一些相对复杂的图时,首先要理解一张图片中各个部分分别对应什么,这样更便于使用对应的函数以及查找相关的资料。以下这张图也摘自官网,详细介绍了一张图的各个部分及其对应的类和函数,非常详细,值得反复阅读。
注意,这里的ax
来自以下代码:
fig, ax = plt.subplots() # Create a figure containing a single axes.
ax.plot([1, 2, 3, 4], [1, 4, 2, 3]) # Plot some data on the axes.
2.3 代码风格
在绘制图像方面,主要有两种常用的类型。分为显式接口(explicit interfaces) 和 隐式接口(implicit interfaces),其中,所谓显式接口是使用面向对象的方式(object-oriented (OO) style);而隐式接口则是使用pyplot
这个模块隐式地创建和管理图像和坐标轴等对象,即只使用pyplot里面的函数即可。
-
显式接口
x = np.linspace(0,