Python中figure与axies绘图有哪些不同
霄耀在努力 人气:0一、二者区别介绍
学习别人写的代码时,关于使用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() #设置标题
加载全部内容