什么时候需要plt.show()显示一个图,什么时候不显示?

时间:2019-01-29 13:57:41

标签: python matplotlib

我很难找到一个非常简单的问题的答案。很抱歉,如果这看起来太基本了,但是由于以下代码将显示没有plt.show()的绘图,因此plt.show()的意义是什么?请告诉我何时需要plt.show(),这将使我更好地了解matplotlib的复杂性。

谢谢

编辑:我在Spyder(与Anaconda一起使用)中使用了这个

/usr/local/perl-5.22.1/lib/perl5/core_perl

2 个答案:

答案 0 :(得分:3)

根据脚本的位置要求还是不要求。

有2个上下文。

  1. Matplotlib用于终端或脚本中,必须使用plt.show()。

  2. Matplotlib用于IPython外壳或笔记本(例如Kaggle)中,不需要plt.show()。

答案 1 :(得分:1)

在两种情况下,plt.show()都显得多余(在下面的 bold 突出显示的文档中查看),看来您是处于交互模式还是正在使用JuPyter笔记本电脑

来自官方docs

  

显示图形。当以pylab模式在ipython中运行时,显示所有图形并返回到ipython提示符。

     

在非交互模式下,显示所有图形并阻止直到图形被关闭; 在交互模式下没有任何作用,除非在非交互模式更改为交互模式之前创建了图形(不推荐)。在这种情况下,它会显示数字,但不会阻塞。

     

单个实验关键字参数block可以设置为True或False,以覆盖上述阻止行为。