matplotlib中matlab风格画图其实也是面向对象方式

本文介绍了matplotlib的两种画图方式:matlab风格和面向对象方式,并揭示了它们之间的联系。matlab风格画图通过plt.plot()等函数实现,实质上是面向对象方式的简化接口。在面向对象方式中,坐标轴和画布被视为对象,通过调用相应对象的方法进行操作。plt.plot()的内部原理是调用gca().plot(),gca()获取当前激活的坐标轴,若不存在则创建。gcf()用于获取当前figure,同样在需要时创建新的figure。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

matplotlib两种画图方式

  • 方式1:matlab方式,直接用plt.plot()或者plt.scatter()等画图函数画图。这种方式是常见的画图方式,其画图操作简单。模仿的matlab的画图方式。它会跟踪当前激活的图形,所有的plt命名都可以应用。
  • 方式二:面向对象方式,python中一切皆对象,画图中的坐标轴,画布等也是对象。这种方式是创建对象,调用对象的函数。

两种方式的联系

方式1的内部原理也是方式2,只是在方式2外面套了一层外衣。使得调用方便,直接调用命令即可。看一下下面的plt.plot()的例子

# 把模块pyplot导入
import matplotlib.pyplot as plt
x=[1,2,3]
y=[1,2,3]
plt.plot(x,y)
plt.show()

这样就可以画图出来了,是不是很简单。那么它的原理是什么呢?

  1. 查看plot的源代码,里面返回值里调用了gca().plot()。就是调用gca()这个对象的plot()方法
@_copy_docstring_and_deprecators(Axes.plot)
def plot(*args, scalex=True, scaley=True, data=None, **kwargs):
    retur
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

python_xiaofeng

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值