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

问题描述 投票:0回答:1

所以这是我的代码:

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

谢谢大家!

python-3.x animation matplotlib gif scatter
1个回答
1
投票

问题有点,您希望在图表上看到什么。目前你创建0.2点大像素,所以像素小于一个像素。

也许你想用

s=1, marker='.'
© www.soinside.com 2019 - 2024. All rights reserved.