1

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

这是代码:

    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,我可能会在这个例子中这样做。但是还有其他一些问题会更大,因此通用解决方案将非常有帮助。

谢谢!

4

1 回答 1

3

听起来你有交互模式 on,所以你应该把它设置为off使用命令

ioff()

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

于 2009-12-14T17:46:10.530 回答