Python中figure、axies绘图的区别

一、二者区别介绍

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

matplotlib图的组成:

  • Figure (画布,可理解为黑板)

  • Axes (坐标系,黑板中的一块区域)

  • Axis (坐标轴,在区域中画的坐标轴)

  • 图形(plot(),scatter(),bar(),...)

  • Title, Labels, ......

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

Python中figure、axies绘图的区别_第1张图片

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

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

在来看一个图:

Python中figure、axies绘图的区别_第2张图片

整个灰色区域,也就是红框之内的区域是一个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()

二、对应的程序

  1. 创建

plt.figure()返回Figure实例
plt.axes()返回Axes或其子类
  1. 常用程序

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()       #设置标题

你可能感兴趣的:(深度学习,人工智能,python)