首页 > 编程笔记 > Python笔记 阅读:15

Matplotlib创建图表的2种方式(附带实例)

Matplotlib 为创建图表提供了两种编程方式,分别是函数和面向对象。无论使用哪种方式,都可以创建所需的图表,两种方式各有优缺点。

在实际编程任务中,经常结合使用函数和面向对象两种方式来创建图表,充分发挥两种编程方式各自的优点,从而简化代码的编写,同时也能使创建图表的整个过程逻辑清晰,并可对图表的细节具有灵活的控制能力。

Matplotlib用函数创建图表

在 Matplotlib 库中有一个 pyplot 模块,该模块提供了大量的函数,使用这些函数可以创建不同类型的图表,并对图表元素进行详细设置。

使用 pyplot 模块中的函数创建图表时,只需为这些函数提供一些参数即可,用户无须显式创建 Figure 和 Axes 等对象,Matplotlib 会在幕后自动创建它们。


图 1 使用函数方式创建图表

下面的示例使用函数方式创建上图所示的图表,其中使用了以下几个函数:
import matplotlib.pyplot as plt
x = range(1, 7)
plt.figure()
plt.plot(x, x, label='linear')
plt.xlabel('x Axis')
plt.ylabel('y Axis')
plt.title("Plot Test")
plt.legend()
plt.show()
导入 pyplot 模块时,虽然可以使用任何名称作为其别名,但是通常将其别名设置为 plt,这是一种便于 Python 程序员交流的命名惯例。

pyplot 模块中的绘图函数通常接受 Ndarray 类型的数据,Ndarray 是 NumPy 库的核心对象。此外,Python 中的序列对象和可迭代对象也可作为这些函数的参数,本例传递给 plot 函数的参数是由 Python 中的 Range 函数创建的可迭代对象。

Matplotlib用面向对象方式创建图表

在 Matplotlib 中操作的任何东西都是对象,例如 Figure、Axes 和 Axis 等。

使用面向对象方式创建图表时,Figure 对象通常使用函数方式来创建,即 pyplot 模块中的 figure 函数,这是创建 Figure 对象的快捷方法。

下面的示例是创建图 1 所示的图表,此处使用的是面向对象编程方式。
import matplotlib.pyplot as plt
x = range(1, 7)
fig, ax = plt.subplots()
ax.plot(x, x, label='linear')
ax.set_xlabel('x Axis')
ax.set_ylabel('y Axis')
ax.set_title('Plot Test')
ax.legend()
fig.show()
函数和面向对象两种编程方式的主要区别:

相关文章