程序运行时iPython没有响应。程序退出时会响应

时间:2016-06-21 06:28:40

标签: python matplotlib

我对编程很新,所以请耐心等待。 我很难解释我的问题,所以我发布som图片来帮助。这是我遇到的一般问题

我制作了一个交互式程序,提示用户输入一些数据。用户可以对数据进行一些操作,包括对其进行可视化。我使用matplotlib.pyplot创建了一个绘图函数。

当用户选择可视化数据时,iPython窗口弹出,但显示“未响应”。当用户退出程序时,将显示该图。

以下是代码的简化版本:

import numpy as np
import matplotlib.pyplot as plt

data = np.array([1,2,3,4,5])
timeline = np.arange(5)

while True:
    choice = int(input("Please choose a number, 0 or 1: "))
    if choice == 1:
        plt.plot(timeline, data)
    if choice == 0:
        break

当我输入1时会发生这种情况:https://imgur.com/274NNT0

当我输入0时会发生这种情况:https://imgur.com/biOQ8BD

1 个答案:

答案 0 :(得分:0)

这应该有效:

import numpy as np
import matplotlib.pyplot as plt
plt.ion()
data = np.array([1,2,3,4,5])
timeline = np.arange(5)

while True:
    choice = int(input("Please choose a number, 0 or 1: "))
    if choice == 1:
        plt.plot(timeline, data)
        plt.pause(0.001)
        plt.draw()
    if choice == 0:
        break

plt.pause和plt.draw告诉matplotlib直接绘制图形。我还包括plt.ion,这在这种情况下总是有用但不是必需的。