Matplotlib 面向对象接口

虽然使用matplotlib.pyplot模块绘制图形很方便,但还是建议使用面向对象的方法。因为它可以更好地控制和自定义绘图。大多数函数也可以在 matplotlib.axes.Axes类中使用。

使用更正式的面向对象方法背后的主要思想是创建图形对象,然后只需要调用该对象的方法或属性。这种方法有助于更好地处理具有多个绘图的画布。

在面向对象的界面中,Pyplot 仅用于图形创建等少数功能,用户可以显式创建图形并跟踪图形和轴对象。在这一层,用户使用 Pyplot 创建图形,通过这些图形,可以创建一个或多个坐标轴对象。这些坐标轴对象然后用于大多数绘图操作。

首先,我们创建一个空画布的图形实例。

fig = plt.figure("迹忆客 - jiyik.com")

现在将坐标轴添加到图形中。add_axes()方法用来在图形中添加一个坐标轴,并返回一个对象。它的参数是一个ndarray,有四个元素,分别对应于左边,底部,宽度和图形的高度4个元素。每个数字必须介于 0 和 1 之间

ax=fig.add_axes([0,0,1,1])

为 x 和 y 轴以及标题设置标签

ax.set_title("正弦曲线")
ax.set_xlabel('角度')
ax.set_ylabel('正弦值')

调用轴对象的 plot() 方法绘图。

ax.plot(x,y)

完整的代码如下

from matplotlib import pyplot as plt
import numpy as np
import math
import matplotlib

matplotlib.rcParams['font.sans-serif'] = ['KaiTi']
x = np.arange(0, math.pi * 2, 0.05)
y = np.sin(x)
fig = plt.figure("迹忆客 - jiyik.com")
ax = fig.add_axes([0, 0, 1, 1])
ax.plot(x, y)
ax.set_title("正弦曲线")
ax.set_xlabel('角度')
ax.set_ylabel('正弦值')
plt.show()

绘制图形如下

matplotlib 正弦曲线图

查看笔记

扫码一下
查看教程更方便