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

use*_*729 13 python matplotlib

由于下面的代码将显示一个没有 的情节plt.show(),有什么意义plt.show()

请告诉我什么时候plt.show()需要,因为这会让我更好地理解 matplotlib 的复杂性。

注意:我在 Spyder (Anaconda) 中使用这个

import matplotlib.pyplot as plt
plt.subplot(211)             # the first subplot in the first figure
plt.plot([1, 2, 3])
Run Code Online (Sandbox Code Playgroud)

Mai*_*Hai 10

需要或不需要取决于您的脚本所在的位置。

有2个上下文。

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

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


She*_*ore 3

看来您要么处于交互模式,要么正在使用 JuPyter 笔记本,在这两种情况下都plt.show()显得多余(检查下面粗体突出显示的文档)

来自官方文档

显示一个数字。当在 ipython 及其 pylab 模式下运行时,显示所有图形并返回到 ipython 提示符。

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

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