代码:
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(),现在它可以正常工作了。
如果遇到任何问题,请添加其他解决方案。再次感谢你。
答案 0 :(得分:0)
将plt.close()
添加到for循环
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()
答案 1 :(得分:0)
解决了。
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()
一起使用,现在它可以正常工作了。