import matplotlib.pyplot as plt
# matplotlib.pyplot 是 Matplotlib 的一个子模块,提供了一个简单的接口用于绘图。
squares = [1,4,9,16,25]
# squares 是一个包含 5 个数值的列表,表示 y 轴的数据(即平方数:1², 2², 3², 4², 5²)。
# 默认情况下,x 轴的数据将自动生成为 [0, 1, 2, 3, 4],对应于列表中每个元素的索引。
fig,ax = plt.subplots() # 创建对象
# plt.subplots() 创建了一个包含图形 (fig) 和轴 (ax) 的对象。fig 是图形对象,
# 代表整个绘图区域,而ax 是轴对象,用于控制图表的各个方面(如标题、标签、刻度等)。
ax.plot(squares) # 对于ax对象 调用plot函数
# ax.plot(squares) 在轴对象上绘制折线图。默认情况下,plot() 方法将 squares 列表的值
# 作为 y 轴坐标,x 轴坐标默认为 [0, 1, 2, 3, 4]。
plt.show()
# plt.show() 显示图形窗口,使生成的图表可见。
fig
和 ax
是 Matplotlib 中非常常见的对象,它们分别代表图形对象和轴对象。理解这两个对象对创建和定制图形非常重要。
1. fig
(Figure 对象)
fig
是Figure
对象,代表整个绘图窗口或图形区域。它是所有绘图元素的容器,可以包含多个轴(子图)。- 角色:
Figure
对象就像一个画布,所有的绘图都在这个画布上进行。你可以将它看作是纸张或整个图表的背景。 - 作用:通过
Figure
对象,你可以控制整个图形的大小、分辨率、布局等属性。例如,添加标题、调整边距、保存图形到文件等。
2. ax
(Axes 对象)
ax
是Axes
对象,代表图中的一个子图或坐标系,是实际绘制数据的区域。- 角色:
Axes
对象类似于图中的一个框,里面包含了数据点、坐标轴、刻度线、标签、标题等内容。一个Figure
对象可以包含一个或多个Axes
对象(即子图)。 - 作用:通过
Axes
对象,你可以绘制数据图形(如折线图、柱状图等)、设置坐标轴的范围、添加标签、标题、网格线等。
3. plt.subplots()
的作用
plt.subplots()
是一个常用的函数,用于创建一个 Figure
对象和至少一个 Axes
对象。它返回一对 (fig
, ax
):
fig
是Figure
对象,管理整个图形的布局。ax
是Axes
对象,实际用于绘制图形的区域。
一个简单的类比
Figure
(fig):就像是一张纸,你可以在这张纸上画多个图表。Axes
(ax):每个Axes
就像是在纸上的一个图表。你可以有一个或多个Axes
,每个Axes
可以绘制不同的图表。
fig, ax = plt.subplots()
创建了一个Figure
对象和一个Axes
对象。ax.plot(...)
在这个Axes
上绘制一条折线图。plt.show()
显示图形。
在这个例子中:
fig
管理整个图形的布局(尽管你没有直接对fig
做任何操作)。ax
是你用来绘制数据的区域。
总结
fig
(Figure):整个图形的容器。ax
(Axes):图形中的一个子图区域,用于实际绘制数据。
import matplotlib.pyplot as plt
squares = [1,4,9,16,25]
input_value = [1,2,3,4,5]
print(plt.style.available) # 内置样式打印
plt.style.use('Solarize_Light2') # 使用内置样式
fig,ax = plt.subplots()
ax.plot(input_value,squares,linewidth=3)
ax.set_title("Square Numbers",fontsize = 24)
ax.set_xlabel("Value",fontsize = 14)
ax.set_ylabel("Square of Value",fontsize = 14)
# ax.tick_params(labelsize = 14)
plt.show()