品易云推流 关闭
文章详情页
文章 > Python基础教程 > python中Matplotlib面向对象是什么?

python中Matplotlib面向对象是什么?

头像

2020-11-09 18:17:082459浏览 · 0收藏 · 0评论

之前讲过Matplotlib以及作图的一些小技巧。那么,小编问大家Matplotlib面向对象是什么?有的人就答不上来了。接下来我们一起探究。


Matplotlib中常⽤对象的包含关系为Figure > Axes > (Line2D, Text,etc.)Figure对象表示一整张图表;其中可包含多个绘图区域,可以理解为多个坐标轴,用Axes表示,也可以称之为子图;在每一个子图中绘制具体的图形对象,如点、线、文本等。

很多情况下直接使用pyplot模块就够用了,但是当有多个图和坐标系时,使用面向对象的创建方式可以更加自由地在子图之间进行切换。

对象的创建

fig = plt.figure()
axes = fig.add_subplot(1, 1, 1)
axes.plot([1, 2, 3])

axes创建后使用方法与plt没有很大的区别,但是还是会有一些差别,比如标题坐标轴的设置

 

面向对象与plt的差异

axes.set_title('title')
axes.set_xlabel('x')
axes.set_ylabel('y')
 
plt.title('title')
plt.xlabel('x')
plt.ylabel('y')


面向对象与plt的相互转化

但是有时本来只是在用plt作图,为了用add_patch而特意创建一个axes就比较麻烦,此时可以用plt.gca()获取当前的Axes对象

plt.plot([1, 2, 3])
poly = plt.Polygon([[0.5, 1], [1, 1.5], [1, 1]],
                   facecolor='0.9', edgecolor='0.5')
plt.gca().add_patch(poly)


以上就是python中Matplotlib面向对象的详解。更多Python学习推荐:PyThon学习网教学中心

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图