【问题标题】:Saving to disk directly with matplotlib使用 matplotlib 直接保存到磁盘
【发布时间】:2013-08-01 21:41:25
【问题描述】:

我想将我的数字保存到磁盘而不在屏幕上渲染它们,也不必更改我的渲染后端。

我尝试了here中的说明,即避免调用fig.show()fig.draw()而只调用fig.savefig,但我注意到仅声明fig = plt.figure()已经在屏幕上打开了一个图形。

如何将图形保存到磁盘而不必渲染它,也不必更改我的后端?

【问题讨论】:

  • plt.ioff() 为什么不使用非交互式后端?而且几乎所有的plt.* 命令都有一个隐含的plt.draw(),所以你正在调用它。
  • 谢谢@tcaswell 我意识到我的代码上有一个ion()。如果您将其写为答案,我会接受。

标签: python matplotlib


【解决方案1】:

pyplot 具有交互功能,在大多数 plt.* 呼叫您后会自动呼叫 draw()

如果您通过状态机接口,则不会自动调用

draw(例如 gca().plot(...) 不会自动重绘,但 plt.plot(...) 会)。

请参阅codedraw_if_interactive 中的重要功能。

这可以通过plt.ioff() 或不调用plt.ion() 来关闭(ipython --pylab 会自动为您开启)。

doc

【讨论】:

  • 至少在一些最新版本的 Matplotlib 中,在交互模式下“每次调用后自动调用draw()”是不正确的,因此应该谨慎对待。在我的 StackOverflow 问题之一中有interesting points
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-26
  • 2016-12-10
  • 2011-02-20
  • 2012-10-01
  • 2012-11-02
  • 2013-03-29
相关资源
最近更新 更多