Код:
import matplotlib.pyplot as plt
from time import sleep
for i in range(100):
plt.pie([100-i,i])
sleep(1)
plt.show()
Проблема с моим кодом: - Всякий раз, когда значения plt.pie() изменяются и круговая диаграмма накладывается, выполнение цикла for кажется остановленным, и я должен закрыть окно круговой диаграммы, чтобы вернуться к выполнению цикла for.
Что я хочу сделать: - plt.pie() отображает живые изменения в своих значениях, не останавливаясь на выполнении цикла.
благодарю вас.
Изменение: найдено решение.
import matplotlib.pyplot as plt
from time import sleep
for i in range(100):
plt.pie([100-i, i])
plt.pause(.001)
plt.draw()
sleep(1)
Функция plt.show() является блокирующей функцией, поэтому вместо нее используется plt.draw() вместе с plt.pause(), и теперь она выполняется как intede.
Если вы столкнулись, добавьте другое решение. Еще раз спасибо.
добавьте plt.close()
в ваш цикл for-loop
import matplotlib.pyplot as plt
from time import sleep
for i in range(100):
plt.pie([100-i,i])
sleep(1)
plt.show()
plt.close()