我试图通过
input()
,在用户使用标准缩放控件操纵绘图之后。用户播放绘图,计算出所需的x值,并将其键入命令行提示符中。
绘图可以在单独的窗口(spyder/python)中进行,也可以在线(在jupiter笔记本中)。
用户输入值后,脚本继续(例如,从绘图中请求另一个值,或使用这些值进行一些计算)。
但是,在命令行等待用户输入时,我无法让绘图真正显示出来并作出响应。我试过:
-
plot()
先陈述一下,
输入()
陈述第二。
-
Spyder和Python3.6(我想),从源代码通过MacPorts(尽可能更新Spyder)
-
Spyder Via Python 3.7,来自IPython中ContinuMio的Anaconda包
-
木星笔记本也来自水蟒
-
许多后端:macosx、qt等。
-
笔记本
%matplotlib
我是说,
notebook
,请
inline
我是说,
qt
等。
-
独立图形窗口(Spyder&Python)与内嵌图形(Jupyter笔记本)
-
fig.show( block=False )
以及这方面的变化。
plt.show( block=False )
-
两款不同的MacBook(2017和2010 MacBook Pro)
我
做
通过添加一个
matplotlib.pyplot.pause(0.5)
在
绘图()
和
输入()
声明。这是一个重大的进展,但一旦剧本进入
输入()
声明,在完成
输入()
语句,然后脚本完成。在那一点上,情节是互动的。
python控制台似乎不能同时处理多个用户交互?即。
输入()
冻结所有其他用户交互吗?
我已经搜索了好几天了,谷歌等等,但还没有找到答案!其想法是,在执行理论上更复杂的任务(即直接从绘图中获取用户单击)之前,将此作为从绘图中获取用户输入的“快速和肮脏”方法(必须捕捉到绘图数据,如数据游标)。