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()
在这段代码里:
fig是 Figureax是 Axesline和title都是 Artistplt.show()调用 Backend 来渲染