【问题标题】:python kernel crashes on mouse hover over Tkinter windowpython内核在鼠标悬停在Tkinter窗口上时崩溃
【发布时间】:2016-04-11 22:26:30
【问题描述】:

我想在 jupiter notebook 中绘制图形。 当我使用以下代码时

%pylab inline  
import numpy as np
x=np.linspace(0,10,40)
plt.plot(x,x**2)
plt.show()

一切正常,但是如果我将%pylab inline 更改为%pylab tk%pylab qt,则会在单独的窗口中显示一个交互式图形,并且当我将鼠标悬停在窗口上时,python 内核崩溃。有谁知道如何解决这个问题并在单独的窗口中绘制图表?

我使用来自 Anaconda 2.4.1(64 位)发行版的 Windows 7、Python 3.5.1。

【问题讨论】:

    标签: python tkinter crash ipython jupyter-notebook


    【解决方案1】:

    如果您希望 matplotlib 具有交互性,即绘图在单独的窗口中打开,您将需要使用以下魔法执行笔记本的第一个单元格:

    %matplotlib
    

    这应该为您的系统加载一个交互式后端

    如果你想内联工作:

    %matplotlib inline
    

    然后你可以运行你的代码,但是请不要使用pylab,而是使用numpymatplotlib.pyplot;这将使您的命名空间保持整洁。

    import matplotlib.pyplot as plt
    import numpy as np
    
    x = np.linspace(0,10,40)
    plt.plot(x, x**2)
    plt.show()
    

    要在会话期间更改后端,您可能需要在 jupyter 中重新启动内核才能使新的后端设置生效。

    【讨论】:

    • 您的解决方案显示一个窗口,但是当我将鼠标悬停在窗口上时,python 崩溃。所以问题还没有解决。我的特定版本的 python/图形后端可能有问题。
    • 恐怕我帮不上什么忙了,我没有windows电脑……也许你可以查一下很多matplotlib后端,然后尝试指定一个替代的?也许这个? matplotlib.org/api/backend_qt4agg_api.html
    猜你喜欢
    • 1970-01-01
    • 2017-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-11
    相关资源
    最近更新 更多