我正在用不同的模块、组件制作一个程序,用OpenCV执行文件/文件夹管理、数据采集、模型计算和在线采集反馈。该程序使用一个非常简单的命令行界面,其核心是一个菜单,用户可以输入一个从1到X的数字来启动所描述的任务。
[IN] Available options:
| 1 - Do something
| 2 - Run acquisition
| 3 - Compute model
| 4 - Start something else
| 5 - Open cv2 windows
| 6 - Quit
当用户输入
3
以a结尾
matplotlib
绘图让用户评估模型的正确性。
6
退出。
即使我添加了一个
plt.show()
或
f.show()
带或不带
block=False
.
有没有办法
matplotlib数据库
可复制示例:
from matplotlib import pyplot as plt
def input_menu(options, retries=3):
print ('Available options:')
for key, value in options.items():
print (f" {key} - {value}")
selection = int(input('[IN] What do you want to do ? '))
return selection
while True:
selection = input_menu(options={1: 'Plot',
2: 'Quit'})
if selection == 1:
f, ax = plt.subplots(1, 1, figsize=(10, 10))
ax.plot([1, 2, 3])
elif selection == 2:
break
else:
break
按1;菜单将再次提示,并显示绘图。在按下2键并完成程序之前,绘图不会出现。
我使用spyder作为IDE。在spyder中,选择后端PyQT5。
python test.py
在候机楼。这一次,按1后,绘图确实如预期显示。无需等待程序完成。