尽管使用 matplotlib.pyplot 模块可以轻松快速地生成图,但是建议使用面向对象的方法,因为它可以更好地控制和自定义图。
在面向对象的界面中,Pyplot仅用于一些功能,例如图形创建,并且用户显式创建并跟踪图形和轴对象,在此级别上,用户使用Pyplot创建图形,并通过这些图形可以创建一个或多个轴对象,然后,将这些轴对象用于绘图操作。
首先,无涯教程创建一个提供空画布的图形实例。
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内联指令, 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()
上面的代码行生成以下输出-
在Jupyter Notebook中运行时,相同的代码显示输出,如下所示-
参考链接
https://www.learnfk.com/matplotlib/matplotlib-object-oriented-interface.html
标签:set,无涯,matplotlib,面向对象,plt,Matplotlib,ax,图形,fig From: https://blog.51cto.com/u_14033984/7851702