Matplotlib中plt与ax工具的函数映射及操作替代方法问询
Matplotlib pyplot API(plt)与面向对象API(fig/ax)常用映射
你问的清除图形操作对应写法
- 清除单个坐标轴(对应
plt.cla()):ax.clear() - 清除整个画布的所有坐标轴(对应
plt.clf()):fig.clf() - 关闭指定画布(对应
plt.close('my figure')):持有fig对象时直接调用fig.close()
常用函数映射对照表
画布与坐标轴管理
- 创建画布:
plt.figure(num='my figure')→fig = plt.figure(num='my figure')或fig, ax = plt.subplots(num='my figure')(后者直接创建带坐标轴的画布,更常用) - 关闭所有画布:
plt.close('all')→ 可直接使用plt.close('all'),或遍历plt.get_fignums()获取所有画布编号逐一关闭 - 设置画布总标题:
plt.suptitle('总标题')→fig.suptitle('总标题')
绘图与坐标轴样式
- 绘制曲线:
plt.plot(x, y)→ax.plot(x, y) - 设置坐标轴标签:
plt.xlabel('X轴')/plt.ylabel('Y轴')→ax.set_xlabel('X轴')/ax.set_ylabel('Y轴') - 设置坐标轴范围:
plt.xlim(0, 10)/plt.ylim(0, 100)→ax.set_xlim(0, 10)/ax.set_ylim(0, 100) - 添加图例:
plt.legend()→ax.legend() - 添加网格:
plt.grid(True)→ax.grid(True) - 设置子图标题:
plt.title('子图标题')→ax.set_title('子图标题')
布局与显示
- 自动调整布局:
plt.tight_layout()→fig.tight_layout() - 显示图形:
plt.show()→ 依然适用(面向对象API最终显示也常用该方法)
关于术语的提示
官方将你所说的“旧方式”称为pyplot API(基于状态的接口),“新方式”称为面向对象(OO)API(基于对象句柄的接口),使用这两个术语搜索问题,能更精准找到相关资料。
内容的提问来源于stack exchange,提问作者Laurence Lurio
相关产品推荐
相关产品推荐

