python中Matplotlib面向对象是什么?

之前讲过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教程网。

来源:PY学习网:原文地址:https://www.py.cn/article.html

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » python中Matplotlib面向对象是什么?