Python matplotlib中绘动图时的图例的问题

在学python编程时碰到了这样的问题,matplotlib绘制散点图时,图例会反复刷新出现,就像下面这个一样

Python matplotlib中绘动图时的图例的问题_第1张图片

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()

一样可以达到想要的效果

Python matplotlib中绘动图时的图例的问题_第2张图片


你可能感兴趣的:(python)