#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')
строкой.