在学python编程时碰到了这样的问题,matplotlib绘制散点图时,图例会反复刷新出现,就像下面这个一样
import matplotlib.pyplot as plt
a=1
while a<=10:
plt.scatter(a,a**2,color='r',label="A")
plt.pause(0.1)
plt.legend()
a=a+1
plt.show()
通过求助大家发现可以用这个条件判断来实现
import matplotlib.pyplot as plt
a = 1
while a <= 10:
b = plt.scatter(a, a ** 2,color='r', label="A")
plt.pause(0.1)
if a == 1:
plt.legend()
a = a + 1
plt.show()
这个方法太赞了,一目了然,受启发,我又想到了另外的方法,就是在作图前绘制一个数据为None的空图
import matplotlib.pyplot as plt
a = 1
plt.scatter(None, None, color='r', label="A")
plt.legend()
while a <= 10:
plt.scatter(a, a ** 2, color='r')
plt.pause(0.1)
a = a + 1
plt.show()
一样可以达到想要的效果