python – 如何使用matplotlib在while循环中实时绘图?

weixin_38127885 2019-09-12 12:35:00
我试图使用OpenCV实时绘制来自摄像机的一些数据.但是,实时绘图(使用matplotlib)似乎不起作用. 我把这个问题分成了这个简单的例子: fig = plt.figure() plt.axis([0, 1000, 0, 1]) i = 0 x = list() y = list() while i < 1000: temp_y = np.random.random() x.append(i) y.append(temp_y) plt.scatter(i, temp_y) i += 1 plt.show() 我希望这个例子可以单独绘制1000个点.实际发生的是窗口弹出第一个点显示(确定),然后在填充图表的其余部分之前等待循环完成. 有什么想法,为什么我没有看到一次填充一个点?
...全文
1024 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38131342 2019-09-12
  • 打赏
  • 举报
回复
这是有问题的代码的工作版本(至少需要2011-11-14版本的Matplotlib 1.1.0版本): import numpy as np import matplotlib.pyplot as plt plt.axis([0, 10, 0, 1]) for i in range(10): y = np.random.random() plt.scatter(i, y) plt.pause(0.05) plt.show() 请注意一些变化: >调用plt.pause(0.05)来绘制新数据并运行GUI的事件循环(允许鼠标交互).

473

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧