Pergunta

Eu tenho um loop que está adicionando uma linha a um gráfico em cada iteração. No momento, isso é terrivelmente lento, pois parece redesenhar o gráfico inteiro a cada vez. É possível desativar as atualizações da tela para um gráfico enquanto ele está sendo configurado e depois as senize depois.

Aqui está o código:

    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');

Eu sei que deveria apenas combinar tudo isso em uma chamada para plot E provavelmente farei isso por este exemplo. Mas há outros bits em que isso seria mais um problema, para que uma solução geral seja realmente útil.

Obrigado!

Foi útil?

Solução

Parece que você tem o modo interativo on, então você deve simplesmente defini -lo como off usando o comando

ioff()

Observe que quando o modo interativo estiver desligado, você precisará usar o comando show() Para exibir as parcelas.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top