在用户使用标准缩放控件操纵绘图之后,我试图通过input()
来获取用户输入。例如。用户使用该图,找出所需的X值,然后将其键入命令行提示符。
图可以在单独的窗口中(Spyder / Python)或嵌入式(在Jupiter Notebook中)。
在用户输入值之后,脚本将继续(例如,从绘图中询问另一个值,或使用这些值进行一些计算)。
但是,在命令行等待用户输入时,我无法使图实际显示并做出响应。我尝试过:
plot()
条语句,然后再进行input()
条语句。%matplotlib
,notebook
,inline
,qt
等fig.show( block=False )
及其变体,例如。 plt.show( block=False )
我 did 通过在{{1之间添加一个matplotlib.pyplot.pause(0.5)
,得到要实际更新的图(以前它是Notebook中的空白,或者是单独的图形窗口) }}和plot()
语句。这是一个重大的进步,但是一旦脚本命中了input()
语句,我就会在“图形”窗口上看到一个旋转的沙滩球(防止缩放等),直到我通过输入内容完成input()
语句,然后脚本完成。那时情节是互动的。
似乎python控制台不能同时处理多个用户交互?就是input()
是否冻结了所有其他用户交互?
我已经搜索SO,谷歌等了好几天了,还没有弄清楚!这个想法是在进行理论上更复杂的任务(直接从图中获取用户点击)之前,将其用作从图中获取用户输入的“快速而肮脏的”方式(这将不得不捕捉到诸如数据之类的绘制数据)游标)。