我正在尝试编写一个脚本,允许用户通过 matplotlib 中的事件处理来操作图形,但我需要让他们通过终端输入一些附加信息
调用raw_input()
似乎会破坏脚本,并引发RuntimeError: can't re-enter readline
错误
这是一段简单的代码来演示这一点:
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(np.random.rand(10))
def keypress(event):
print 'You press the "%s" key' %event.key
print 'is this true? Type yes or no'
y_or_n = raw_input()
cid = fig.canvas.mpl_connect('key_press_event', keypress)
plt.show()
如果我使用 python 运行它,这可以正常工作,但使用 ipython --pylab 会中断。不幸的是,我需要交互模式
我看到其他人遇到过这个问题,但我还没有看到解决方案