我阅读了很多有关这个主题的Stack Overflow问题,但经过许多实验后,我无法解决我的问题。我在Windows 7上使用PyCharm 2016.3.2(但在OSX上我也遇到了同样的问题),我的解释器是Anaconda的最新版本,带有Python 3.6和matplotlib 2.0.0。
以下是我要实现的内容(也许我没有使用正确的方法,因为我正在尝试重新创建我在Octave / Matlab中习惯的行为):
这是我想要的最接近版本,图表正确但当我将鼠标移到它们上面时不会有反应(plt.pause(0.0001)会生成警告但代码可以运行)。
我试着调整参数(plt.ion(); plt.pause(); plt.show(block=False)),但大部分时间都导致空白图窗口或需要关闭窗口才能继续执行。
感谢您的帮助!
以下是我要实现的内容(也许我没有使用正确的方法,因为我正在尝试重新创建我在Octave / Matlab中习惯的行为):
- 在弹出窗口中绘制一个图形
- 暂停我的脚本(input("press a key to continue"))
- 观察图形,然后按键继续脚本
- 计算其他内容
- 在同一图形上绘制新数据
- 暂停我的脚本(input("press a key to continue"))
- 观察图形,然后按键继续脚本
import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt
print('Plotting Data...')
plt.ion()
plt.figure(1)
plt.plot([1, 5, 10, 20], [1, 5, 10, 20])
plt.xlabel('x label')
plt.ylabel('y label')
plt.show()
plt.pause(0.0001)
input('Plotting Data done..., Press a key to continue')
plt.figure(1)
plt.plot([1, 5, 10, 20], [2, 10, 20, 40])
plt.show()
plt.pause(0.0001)
input('Program paused. Press enter to end.\n')
这是我想要的最接近版本,图表正确但当我将鼠标移到它们上面时不会有反应(plt.pause(0.0001)会生成警告但代码可以运行)。
我试着调整参数(plt.ion(); plt.pause(); plt.show(block=False)),但大部分时间都导致空白图窗口或需要关闭窗口才能继续执行。
感谢您的帮助!