Мой текущий код не дает ожидаемого результата:
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
colors = cm.rainbow(np.linspace(0, 1, len(gt_x)))
for i in range(len(gt_x)):
ax.scatter(gt_x[i], gt_y[i], gt_z[i], s=50, marker='o', c=colors[i], label='gt')
ax.scatter(pred_x[i], pred_y[i], pred_z[i], s=50, marker='x', c=colors[i], label='predicted')
fig.canvas.draw()
data = np.fromstring(fig.canvas.tostring_rgb(), dtype=np.uint8, sep="")
data = data.reshape(fig.canvas.get_width_height()[::-1] + (3,))
imgs.append([plt.imshow(data, animated=True)])
clip = animation.ArtistAnimation(fig, imgs, interval=100, blit=False, repeat_delay=1000)
name = os.path.join("../data", "scatter_plot") + ".gif"
clip.save(name, writer='imagemagick')
Я хочу использовать ту же логику, то есть добавление 3d-точек к моему точечному графику итеративно, с FuncAnimation
и смещениями, которые кажутсябудь правильным способом делать то, что я хочу.
Однако это включает в себя использование функций смещения 3D и обновления топора, которые я не знаю, как использовать для этой цели, поскольку многие функции кажутся частными и поэтому не документированы, например, ax._3doffsets()
.