我对编程很新,所以请耐心等待。 我很难解释我的问题,所以我发布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
答案 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,这在这种情况下总是有用但不是必需的。