我需要在一个文件中创建一个图,但不需要在IPython notebook中显示它。我不清楚IPython
和matplotlib.pylab
在这方面的相互作用。但是,当我调用pylab.savefig("test.png")
时,除了保存在test.png
中之外,还显示了当前的图形。自动创建大量打印文件时,通常不希望这样做。或者在期望由另一应用进行外部处理的中间文件的情况下。
不确定这是matplotlib
还是IPython
笔记本问题。
我需要在一个文件中创建一个图,但不需要在IPython notebook中显示它。我不清楚IPython
和matplotlib.pylab
在这方面的相互作用。但是,当我调用pylab.savefig("test.png")
时,除了保存在test.png
中之外,还显示了当前的图形。自动创建大量打印文件时,通常不希望这样做。或者在期望由另一应用进行外部处理的中间文件的情况下。
不确定这是matplotlib
还是IPython
笔记本问题。
3条答案
按热度按时间omjgkv6w1#
这是一个matplotlib问题,您可以通过使用不显示给用户的后端来解决这个问题,例如:“攻击”:
**编辑:**如果不想失去显示图的功能,请关闭交互模式,并仅在准备好显示图时调用
plt.show()
:af7jpaap2#
我们不需要
plt.ioff()
或plt.show()
(如果我们使用%matplotlib inline
)。你可以在没有plt.ioff()
的情况下测试上面的代码。plt.close()
具有重要作用。试试这个:如果你在iPython中运行这段代码,它将显示第二个图,如果你在它的末尾添加
plt.close(fig2)
,你将什么也看不到。**综上所述,**如果以
plt.close(fig)
关闭图形,则不会显示该图形。g6baxovj3#
只需将
plt.close()
而不是plt.show()