如何禁止matplotlib的屏幕更新

1 投票
1 回答
975 浏览
提问于 2025-04-15 17:00

我有一个循环,每次迭代时都会往图表上添加一条线。目前这个过程非常慢,因为每次都好像要重新绘制整个图表。请问有没有办法在设置图表时禁用屏幕更新,然后再重新启用?

这是我的代码:

    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,我可能会在这个例子中这样做。但在其他情况下,这样做可能会更麻烦,所以如果能有一个通用的解决方案就太好了。

谢谢!

1 个回答

3

听起来你开启了 交互模式,所以你只需要用下面的命令把它关闭

ioff()

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

撰写回答