如果你觉得内容对你有帮助,请在 GitHub 上点个 star 吧!

matplotlib 编程方式

3.5. matplotlib 编程方式#

Hide code cell content
import matplotlib.pyplot as plt
import numpy as np

两种编程方式#

基本上有两种使用 Matplotlib 的方法:

  1. 依靠 import matplotlib.pyplot as plt 自动创建和管理图形和轴,并使用 pyplot 提供的各类函数进行绘图。简单来说,就是直接用 plt.[function_name]() 函数作图,比如 plt.scatter() 画散点图。

  2. 面向对象编程:先 plt.subplots() 显式创建图形和轴,再调用对应的绘图方法。这种方法更为复杂具体,但能满足我们许多精细的要求。前面的例子大多是用第二种方式完成。

案例:三条曲线#

  1. pyplot-style

x = np.linspace(0, 2, 100)  # 创建一个包含100个点的线性空间,范围从0到2,用作示例数据
plt.figure(figsize=(5, 2.7), layout='constrained') #直接用plt.figure创建图
plt.plot(x, x, label='linear') #在坐标轴上绘制数据,绘制一条线性函数曲线,标签为'linear'
plt.plot(x, x**2, label='quadratic')   # 在同一个坐标轴上绘制二次函数曲线,标签为'quadratic'。
plt.plot(x, x**3, label='cubic') #在同一个坐标轴上绘制三次函数曲线,标签为'cubic'。
plt.xlabel('x label') # 为 x 轴添加标签,将x轴标签设置为'x label'
plt.ylabel('y label')  # 为 y 轴添加标签,将y轴标签设置为'y label'
plt.title("Simple Plot") # 为坐标轴添加标题,将标题设置为'Simple Plot'
plt.legend() # 添加图例,以便显示每条曲线的标签
<matplotlib.legend.Legend at 0x11a61cdd0>
../_images/2fdf2bed5b90c10e872146a5cff31098e3fbc06471cf9443a585a217071ca14d.png
  1. OO-style 面向对象编程

x = np.linspace(0, 2, 100)  # 创建一个包含100个点的线性空间,范围从0到2,用作示例数据
fig, ax = plt.subplots(figsize=(5, 2.7), layout='constrained')#创建一个大小为5x2.7英寸的图形(Figure),并使用constrained_layout参数启用了约束布局。然后,创建了一个坐标轴对象ax,可以用来绘制数据。
ax.plot(x, x, label='linear')  #在坐标轴上绘制数据,绘制一条线性函数曲线,标签为'linear'
ax.plot(x, x**2, label='quadratic')  # 在同一个坐标轴上绘制二次函数曲线,标签为'quadratic'。
ax.plot(x, x**3, label='cubic')  #在同一个坐标轴上绘制三次函数曲线,标签为'cubic'。
ax.set_xlabel('x label')  # 为 x 轴添加标签,将 x 轴标签设置为'x label'
ax.set_ylabel('y label')  # 为 y 轴添加标签,将 y 轴标签设置为'y label'
ax.set_title("Simple Plot")  # 为坐标轴添加标题,将标题设置为'Simple Plot'
ax.legend()  # 添加图例,以便显示每条曲线的标签
<matplotlib.legend.Legend at 0x11a674dd0>
../_images/2fdf2bed5b90c10e872146a5cff31098e3fbc06471cf9443a585a217071ca14d.png