fig.show() 和 plt.show() 有什么区别?

问题描述 投票:0回答:1

这两个函数都来自 matplotlib 库。我发现两者都有相似的功能,因此想知道其中的区别。

python matplotlib
1个回答
0
投票

假设您已完成以下导入,因此定义了命名空间

plt

import matplotlib.pyplot as plt

plt.show()
是读取API状态的API函数:

plt.show()
是一个 API(即
pyplot
)函数。当调用此函数时,它会读取
pyplot
的状态以查看要显示的内容。如果您的运行时处于交互模式(例如 IPython、Jupyter),您通常会看到两个相同的图,因为交互模式和
plt.show()
各绘制一次图。

matplotlib.figure.Figure.show()
Figure
对象的方法:

figure.show()
是一种需要运行事件循环的方法,因此我想象它会将要由事件循环显示的图排队。因为此方法不管理事件循环,所以如果后台没有运行持久事件循环,则该方法将不起作用。

结论:

  • plt.show()
    是一种 API 函数,如果运行时没有运行事件循环,它将为您管理事件循环。
  • figure.show()
    是一个对象方法,不管理事件循环,因此可能无法始终工作。
  • 如有疑问,请使用
    plt.show()
    ,因为它应该始终有效。

参考资料:

© www.soinside.com 2019 - 2024. All rights reserved.