Matplotlib 基础

Matplotlib 基础#

“白话”解释

  • Figure:就像一张画布(画板)。所有图形都必须画在画布上。

  • Axes:画布上的“小画框”,里面有坐标系。你看到的折线图、柱状图,都是画在 Axes 里。一个 Figure 可以有多个 Axes(比如子图)。

  • Artist:所有能画出来的东西都是 Artist。线条、文字、坐标轴、图例,甚至背景,统统是 Artist。

  • Backend:画图的“工人”。你告诉 Matplotlib 要画一条线,Backend 决定是画在屏幕上(交互窗口)、还是保存成 PNG、PDF 等文件。

用类比来理解

想象你在画一幅画:

  • Figure = 整张画布。

  • Axes = 画布上的一个小画框(子区域)。

  • Artist = 画框里的所有元素:线条、文字、点、矩形。

  • Backend = 画笔 + 颜料工厂,决定你是用水彩、油画,还是打印机输出。

import matplotlib.pyplot as plt
import numpy as np

# 创建 Figure(画布)
fig = plt.figure()

# 在画布上加一个 Axes(子图)
ax = fig.add_subplot(111)

# 在 Axes 上画一条线(Line2D 是 Artist)
x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)
line, = ax.plot(x, y, label="sin(x)")

# 添加文字(Text 也是 Artist)
ax.set_title("Sine Wave")

# 显示图形(由 Backend 决定如何渲染)
plt.show()
../../../../_images/c8cffe4921a8df827c747086f28a76d0dcb4c31e7f4da099c29ab2a3cb77fee2.png

在这段代码里:

  • figFigure

  • axAxes

  • linetitle 都是 Artist

  • plt.show() 调用 Backend 来渲染