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()
这样就可以画图出来了,是不是很简单。那么它的原理是什么呢?
- 查看plot的源代码,里面返回值里调用了gca().plot()。就是调用gca()这个对象的plot()方法
@_copy_docstring_and_deprecators(Axes.plot)
def plot(*args, scalex=True, scaley=True, data=None, **kwargs):
return gca

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

被折叠的 条评论
为什么被折叠?



