一、二者区别介绍
学习别人写的代码时,关于使用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() #设置标题
到此这篇关于Python中figure与axies绘图有哪些不同的文章就介绍到这了,更多相关Python figure与axies内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!