Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用matplotlib直接保存到磁盘_Python_Matplotlib - Fatal编程技术网

Python 使用matplotlib直接保存到磁盘

Python 使用matplotlib直接保存到磁盘,python,matplotlib,Python,Matplotlib,我想将图形保存到磁盘,而无需在屏幕上渲染,也无需更改渲染后端 我尝试了中的说明,即避免调用fig.show()或fig.draw(),只调用fig.savefig,但我注意到,仅仅是语句fig=plt.figure()就已经在屏幕上打开了一个图形 如何将图形保存到磁盘而不必渲染,也不必更改后端?pyplot具有交互式功能,在大多数plt.调用后,它将自动调用draw() 如果不通过状态机界面,则不会自动调用draw(例如gca()。绘图(…)不会自动重画,但plt.plot(…)会) 请参阅,d

我想将图形保存到磁盘,而无需在屏幕上渲染,也无需更改渲染后端

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


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

pyplot
具有交互式功能,在大多数
plt.
调用后,它将自动调用
draw()

如果不通过状态机界面,则不会自动调用
draw
(例如
gca()。绘图(…)
不会自动重画,但
plt.plot(…)
会)

请参阅,
draw\u if\u interactive
中的重要功能

可以通过
plt.ioff()
或不调用
plt.ion()
ipython--pylab
自动为您打开它)来关闭此功能


plt.ioff()
为什么不使用非交互式后端?几乎所有的
plt.
命令中都有一个隐式的
plt.draw()
,因此您可以调用它。谢谢@tcaswell,我意识到我的代码中有一个
ion()
。至少在Matplotlib的一些最新版本中,在交互模式下“
draw()
在每次调用后自动调用”是不正确的,因此这应该是有把握的。在我的一个问题中有很多关于这个的问题。