【Python Matplotlib 教程】第8课时-Matplotlib 面向对象的接口

Matplotlib 面向对象的接口

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

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

在面向对象的接口中,Pyplot仅用于一些函数,例如创建图形,用户需要显式创建并跟踪图形和轴对象。在这个层次上,用户使用Pyplot来创建图形,通过这些图形,可以创建一个或多个轴对象。然后,这些轴对象用于大多数绘图操作。

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

fig = plt.figure()

Python

Copy

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

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

Python

Copy

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

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

Python

Copy

调用axes对象的plot()方法。

ax.plot(x,y)

Python

Copy

如果您正在使用Jupyter笔记本,则必须发出%matplotlib inline指令; pyplot模块的其他显示()函数显示图表。 考虑执行以下代码 –

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()

Python

Copy

输出

上面的代码行生成以下输出 –

Matplotlib 面向对象的接口

当在Jupyter笔记本中运行相同的代码时,显示的输出如下所示:

Matplotlib 面向对象的接口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青少年编程作品集

你的赞赏将带来极佳的运气和才气

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值