使用matplotlib将3D散点图动画化为gif最终为空

时间:2018-07-21 15:52:01

标签: python-3.x animation matplotlib gif scatter

这是我的代码:

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


raw = np.random.rand(100,3)
fig = plt.figure()

ax = fig.add_subplot(111, projection='3d')
x = raw[:, 0]
y = raw[:, 1]
z = raw[:, 2]

ax.scatter(x, y, -z, zdir='z', c='black', depthshade=False, s=0.2, marker=',')

def rotate(angle):
    ax.view_init(azim=angle)

print("Making animation")
rot_animation = animation.FuncAnimation(fig, rotate, frames=np.arange(0, 362, 2), interval=100)
rot_animation.save('rotation.gif', dpi=80, writer='imagemagick')

不幸的是,生成的gif不会显示点,而只是显示旋转轴。 这是生成的gif:https://giphy.com/gifs/eeVv2oifDNhRYN9xMi

谢谢大家!

1 个答案:

答案 0 :(得分:1)

问题有点,您想在图表上看到什么。当前,您创建了0.2点大像素,因此像素小于一个像素。

也许您想使用

s=1, marker='.'