我正在尝试找到一种动态更新3d散点图的方法。我发现this贴子关于动态更新的2d绘图,并且我能够使代码在我的机器上正常工作而无需进行任何调整。但是,当尝试使其适合于3D绘图时,我遇到了一些麻烦。这是我的代码:
import numpy as np
import matplotlib.animation as ani
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
fig, sa, sb, l, a, b, z, x = None, None, None, None, None, None, None, None
devices = []
a=2
def animate(i):
global a
x.append(a)
y.append(a)
z.append(a)
sc.set_offsets(np.c_[x,y,z])
a += 1
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.set_xlim3d(0, 10)
ax.set_ylim3d(0, 10)
ax.set_zlim3d(0, 10)
plt.subplots_adjust(left=0.25, bottom=0.25)
x = [1]
y = [1]
z = [1]
sc = ax.scatter(x,y,z)
animation = ani.FuncAnimation(fig, animate, frames=2, interval=100)
plt.show()
运行此命令时,会弹出一个3d图,其中绘制了一个点,并且没有动画。任何人都不知道这段代码有什么问题吗?谢谢!