как удалить предыдущий разброс в matplotlib python

#python #matplotlib

#python #matplotlib

Вопрос:

в моем коде я хочу нарисовать точки перемещения на 3D-графике с помощью функции анимации, но когда он рисует новую точку, он не стирает предыдущую точку, мой код выглядит так

 from mpl_toolkits.mplot3d import Axes3D
from matplotlib import animation
import matplotlib.pyplot as plt



fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

x =[1,2,3,4,5,6,7,8,9,10]
y =[5,6,2,3,13,4,1,2,4,8]
z =[2,3,3,3,5,7,9,11,9,10]

#ax.scatter(x, y, z, c='r', marker='o')

ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')

def draw_graph(i):
    for i in range(len(x)):
        x[i] =1
    ax.scatter(x, y, z, c='r', marker='o')


anima = animation.FuncAnimation(plt.gcf(),draw_graph,interval=1000)


plt.show()
  

Ответ №1:

Просто вызовите ax.clear() перед ax.scatter(x, y, z, c='r', marker='o') строкой.