首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >何时使用cla()、clf()或close()清除matplotlib中的绘图?

何时使用cla()、clf()或close()清除matplotlib中的绘图?
EN

Stack Overflow用户
提问于 2011-11-21 22:38:03
回答 1查看 939.1K关注 0票数 652

Matplotlib提供了以下函数:

代码语言:javascript
复制
cla()   # Clear axis
clf()   # Clear figure
close() # Close a figure window

文档并没有对这些函数之间的区别提供太多的见解。我应该在什么时候使用每个函数,它到底是做什么的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-22 22:54:34

它们都做了不同的事情,因为matplotlib使用了一个层次顺序,其中一个图形窗口包含一个可能由许多轴组成的图形。此外,还有来自pyplot接口的函数和Figure类上的方法。我将在下面讨论这两种情况。

pyplot接口

pyplot是一个模块,它收集了几个函数,允许以函数方式使用matplotlib。在这里,我假设已经将pyplot导入为import matplotlib.pyplot as plt。在这种情况下,有三个不同的命令可以删除东西:

请参阅matplotlib.pyplot函数:

plt.cla() clears an axes,即当前图形中的当前活动轴。它使其他轴保持不变。

plt.clf() clears the entire current figure及其所有轴,但使窗口保持打开状态,以便它可以重复用于其他绘图。

plt.close() closes a window,如果未另行指定,则为当前窗口。

因此,哪个函数最适合您取决于您的用例。

close()函数还允许用户指定应该关闭哪个窗口。参数可以是使用figure(number_or_name)创建窗口时为其指定的数字或名称,也可以是使用fig = figure()获取的图形实例fig。如果没有为close()提供参数,则关闭当前活动的窗口。此外,还有语法close('all'),它关闭所有图形。

Figure类的方法

此外,Figure类还提供了清除地物的方法。我将在下面假设figFigure的一个实例

fig.clf() clears the entire figure。仅当fig是当前图形时,此调用才等同于plt.clf()

fig.clear()fig.clf()的同义词

请注意,即使是del fig也不会关闭关联的图形窗口。据我所知,关闭图形窗口的唯一方法是如上所述使用plt.close(fig)

票数 838
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8213522

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档