我有一个循环,正在为每次迭代的图中添加一条线。现在,这似乎非常慢,因为它似乎每次都会重新绘制整个图。是否可以在设置图表时禁用屏幕更新,然后将其重新启用。

这是代码:

    for rr,dd in zip(angles,dists):
        if dd == inf:
            pass
        else:
            lineend = (array([cos(rr), sin(rr)]) * dd)+origin;
            plot([origin[0], lineend[0]], [origin[1], lineend[1]],'-b');

我知道我应该将所有这些都结合在一个呼吁中 plot 我可能会为此示例做。但是,还有其他一些问题将是一个问题,因此一般解决方案确实会有所帮助。

谢谢!

有帮助吗?

解决方案

听起来您有 交互式模式 on, ,所以您应该将其设置为 off 使用命令

ioff()

请注意,交互式模式关闭时,您需要使用命令 show() 显示图。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top