您的当前位置:首页正文

python中Matplotlib面向对象是什么?

2022-06-15 来源:知库网

之前讲过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学习推荐:

显示全文