16.04LTS 在交互模式下破坏了 matplotlib

16.04LTS 在交互模式下破坏了 matplotlib

考虑以下 Python 代码

import matplotlib.pyplot as plt
import time

plt.ion()
plt.figure()
plt.scatter(1,2)
plt.draw()

while True:
    time.sleep(1)

我在全新安装的 Ubuntu 16 LTS 上尝试了此操作。我尝试了任何可能的后端,但我的图没有出现。是的,我正在编辑正确的文件matplotlibrc

因此我格式化磁盘并重新安装全新的 Ubuntu 14 LTS。上面的代码第一次尝试就成功了。(我在这里使用默认后端,我甚至没有打开matplotlibrc)。

我在双启动 MacBook 和 Dell Optiplex9020 上都执行了此操作。结果相同。

有人知道这里发生了什么事吗?

答案1

您可以用它plt.pause(1)来代替最后一个命令。

import matplotlib.pyplot as plt 

plt.ion()
plt.figure()
plt.scatter(1,2)

while True:
    plt.pause(1)

例如,如果您有一个 for 循环,其中包含许多可raw_input()在之后使用的图plt.pause(1),则按下 Enter 后将显示新的图。

相关内容