【问题标题】:Python not responding after executing plt.show()执行 plt.show() 后 Python 没有响应
【发布时间】:2020-01-12 05:53:06
【问题描述】:

我正在使用以下代码,python 在执行plt.show() 后停止响应。我注意到删除下一个输入命令会删除错误,但是,我需要保留这两个命令。

接下来,我尝试将plt.pause(2) 夹在两个命令之间,但在这里,一旦显示绘图,我按下任意键后,python 就会停止。请帮忙:

PS:我正在使用带有 python 3.7.4 的 Atom 编辑器

import matplotlib.pyplot as plt
import numpy as np
from scipy.optimize import fsolve

def f(x):
    y=2.0*np.sin(x**2)+3.0*x-10.0
    return y
x=np.linspace(-5,3,100000)
plt.ion()
plt.plot(x,f(x))
plt.show()
plt.pause(2)
yy=input("pppp")
print(fsolve(f,2))

【问题讨论】:

  • 代码在我的系统上运行良好。您是通过 IDLE 还是其他 IDE 运行代码?如果您使用的是其他 IDE,请尝试使用 IDLE 运行它
  • 我正在使用 atom
  • 尝试在 IDLE 中运行,为我工作。
  • 您可以尝试将block=False 添加到plt.show()
  • 我在 Atom 中尝试过并且遇到了类似的问题。没有 pause 语句,情节不会显示,程序似乎挂起。使用 pause 语句,绘图显示,但程序仍然挂起。

标签: python matplotlib crash atom-editor


【解决方案1】:

您的代码 plt.ion() 中有以下行。如果我从行尾删除括号,程序似乎在 Atom 中运行良好。

【讨论】:

  • plt.ion() 在图中启用交互模式,删除括号会将线变成未使用的函数引用 - 完全删除线会更清楚
  • 感谢您的澄清。我只是在报告我所做的观察。
  • 我假设了这么多,但认为如果有人遇到这个答案而不知道删除括号会做什么
猜你喜欢
  • 1970-01-01
  • 2020-04-03
  • 2019-08-23
  • 2021-10-06
  • 2019-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多