Python中figure与axies绘图有哪些不同

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

Python中figure与axies绘图有哪些不同

霄耀在努力   2023-03-20 我要评论

一、二者区别介绍

学习别人写的代码时,关于使用matplotlib绘图单面,有多种实现方式,什么plt.plot 啦,ax.plot 啦,虽然都能实现绘图的目的,但总是感觉掌握的不踏实,今天就来总结一下。

matplotlib图的组成:

  • Figure (画布,可理解为黑板)
  • Axes (坐标系,黑板中的一块区域)
  • Axis (坐标轴,在区域中画的坐标轴)
  • 图形(plot(),scatter(),bar(),...)
  • Title, Labels, ......

借助官方文档中的一幅图:

现在就能清楚Figure、Axes、Axis是什么关系了吧

其实我们还能简单的将Axes理解为Figure的子图,Figure是由一个或多个Axes组成,当只有一个子图时,那这时主图和子图就是完全一样的啦 那么plt.plot() 和ax.plot() 效果也就一样

在来看一个图:

整个灰色区域,也就是红框之内的区域是一个Figure, 三个白色区域(子图)是三个Axes,蓝框是Axis

此外,这种类型的图可以用以下程序实现

fig = plt.figure(figsize=(10, 5))
for i, file in enumerate(file_list):          
     img = Image.open(file)
     print('Image shape: ', np.array(img).shape)
     ax = fig.add_subplot(2, 3, i + 1)          #  通过索引号index,设置AXES位置
     ax.set_xticks([]);
     ax.set_yticks([])
     ax.imshow(img)  
plt.tight_layout()                              # 自动调整子图参数,使之填充整个图像区域
plt.show()

二、对应的程序

创建

plt.figure()返回Figure实例
plt.axes()返回Axes或其子类

常用程序

plt.plot()    ————    ax.plot()            # 绘制
plt.legend()  ————    ax.legend()          #添加图例
plt.xlabel()  ————    ax.set_xlabel()      #设置x轴标题
plt.ylabel()  ————    ax.set_ylabel()      
plt.xlim()    ————    ax.set_xlim()        #获取或者是设定x座标轴的范围
plt.ylim()    ————    ax.set_ylim()
plt.title()   ————    ax.set_title()       #设置标题

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们