在spyder 4(以及使用3降级后)下绘图不起作用。我只是在做:
data=[1,2,3]
plt.plot(data)
The output is a non-responding frame:
After forcing to close it, i get:
An error ocurred while starting the kernel
RROR:tornado.application:Exception in callback functools.partial(.advance_eventloop at 0x000001A802791318>)
Traceback (most recent call last):
File "path\anaconda3\lib\site‑packages\tornado\ioloop.py", line 743, in _run_callback
ret = callback()
File "path\anaconda3\lib\site‑packages\ipykernel\kernelbase.py", line 310, in advance_eventloop
eventloop(self)
File "path\anaconda3\lib\site‑packages\ipykernel\eventloops.py", line 232, in loop_tk
app.tk.createfilehandler(stream.getsockopt(zmq.FD), READABLE, notifier)
AttributeError: '_tkinter.tkapp' object has no attribute 'createfilehandler'
(其中替换为路径)
知道为什么吗?
(如果相关的话我正在使用Windows,Python3)
Edit
单独添加 plt.show() 不会对输出产生影响(仍然是空白帧),但是
感谢 Neven V. 和我添加的其他任务
root = tk.Tk()
def on_closing():
if messagebox.askokcancel("Quit", "Do you want to quit?"):
root.destroy()
root.protocol("WM_DELETE_WINDOW", on_closing)
root.mainloop()
然后我看到框架正在响应的图。但是单击退出后,进程不会退出,我必须重新启动内核(主循环正在停止它,但如果没有它,我得到的结果:没有图),因此我尝试:
plt.show(block=False)
plt.pause(0.001) # Pause for interval seconds.
input("hit[enter] to end.")
plt.close('all') # all open plots are correctly closed after each run
并看到一个情节,但按回车键后它也没有响应。