【发布时间】:2017-07-28 04:04:34
【问题描述】:
我想使用FigureCanvasQTAgg 中的散点图。散点图可能有 50,000 个或更多数据点。用户想要在图中绘制一个多边形以选择多边形内的数据点。我已经意识到,通过鼠标点击设置点并使用Axis.plot() 将它们与线连接起来。当用户设置了所有点时,多边形被绘制。每次我添加一个新点时,我都会调用FigureCanvasQTAgg.draw() 来渲染当前版本的绘图。这很慢,因为散点图有很多数据。
有没有办法让它更快?
【问题讨论】:
-
您应该先抽取数据点,然后再将它们绘制到散点图中。如果抽取是不可能的,那么您应该只显示用户想要绘制多边形的区域。这应该会加快您的渲染速度。
-
matplotlib "slow" 有 409 个问题,matplotlib "faster" 有 354 个问题。他们都没有帮助吗?在这种情况下,请更具体地告诉我们您尝试了什么以及为什么没有帮助。
-
为什么需要这么多数据点?这段代码的最终目标是什么?
-
@MohammadAthar 的目标是删除某些点并将提醒写入文件。目视检查最容易做到这一点。
-
不提供必要的代码并且不缩小问题的范围只会降低获得满意答案的机会。最后,这是你的选择。就个人而言,我觉得编写一个完整的最小示例并自己进行研究是非常不令人满意的,因此在解决方案上花费的时间比提问者更多。
标签: python matplotlib plot pyqt4