Matplotlib 简明教程
Matplotlib - Object-oriented Interface
虽然可以快速使用 matplotlib.pyplot 模块生成绘图,但建议使用面向对象的方法,因为它可以更多地控制和自定义绘图。大多数函数也在 matplotlib.axes.Axes 类中提供。
使用更正式的面向对象方法的主要思想是创建图对象,然后只需调出该对象的方法或属性。此方法有助于更好地处理其上有多个绘图的画布。
在面向对象接口中,Pyplot 仅用于一些函数,例如图形创建,并且用户显式创建图形和轴对象并对其进行跟踪。在此级别,用户使用 Pyplot 创建图形,并且可以通过这些图形创建一或多个轴对象。然后,这些轴对象用于大多数绘图操作。
首先,我们创建一个 figure 实例,该实例提供一个空画布。
fig = plt.figure()
现在将轴添加到图形中。 add_axes() 方法需要一个包含 4 个元素的列表对象,这些元素分别对应于图形的左、下、宽和高。每个数字必须介于 0 和 1 之间−
ax=fig.add_axes([0,0,1,1])
设置 x 和 y 轴的标签以及标题−
ax.set_title("sine wave")
ax.set_xlabel('angle')
ax.set_ylabel('sine')
调用轴对象的 plot() 方法。
ax.plot(x,y)
如果你正在使用 Jupyter notebook,则必须发出 %matplotlib inline 指令;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()