Matplotlib – 面向对象的接口

Matplotlib – 面向对象的接口

虽然使用 matplotlib.pyplot 模块很容易快速生成图,但建议使用面向对象的方法,因为它可以对你的图进行更多的控制和定制。大多数函数也可以在 matplotlib.axes.Axes 类中使用。

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

在面向对象的界面中,Pyplot只用于少数功能,如图形创建,用户明确地创建并跟踪图形和坐标轴对象。在这个层面上,用户使用Pyplot来创建图形,通过这些图形,可以创建一个或多个坐标轴对象。这些坐标轴对象随后被用于大多数绘图操作。

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

fig = plt.figure()

现在给图形添加轴。 add_axes() 方法需要一个包含4个元素的列表对象,分别对应图形的左、底、宽和高。每个数字必须在0和1之间 –

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

Set labels for x and y axis as well as title −

ax.set_title("sine wave")
ax.set_xlabel('angle')
ax.set_ylabel('sine')

调用坐标轴对象的plot()方法。

ax.plot(x,y)

如果你使用的是Jupyter笔记本,必须发出%matplotlib内联指令;pyplot模块的otherwistshow()函数会显示绘图。

考虑执行以下代码 –

from matplotlib import pyplot as plt
import numpy as np
import math
x = np.arange(0, math.pi*2, 0.05)
y = np.sin(x)
fig = plt.figure()
ax = fig.add_axes([0,0,1,1])
ax.plot(x,y)
ax.set_title("sine wave")
ax.set_xlabel('angle')
ax.set_ylabel('sine')
plt.show()

输出

上面这行代码产生了以下输出 –

Matplotlib - 面向对象的接口

同样的代码在Jupyter笔记本中运行时,显示的输出如下-

Matplotlib - 面向对象的接口

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程