python 3d绘图旋转_python – 在matplotlib中旋转3D图形

如果你想了解更多关于matplotlib动画,你应该真正遵循

this tutorial.它解释了很大的长度如何创建动画地块.

注意:创建动画图需要安装ffmpeg或mencoder.

这是他的第一个例子的一个版本改为使用你的散点图.

# First import everthing you need

import numpy as np

from matplotlib import pyplot as plt

from matplotlib import animation

from mpl_toolkits.mplot3d import Axes3D

# Create some random data, I took this piece from here:

# http://matplotlib.org/mpl_examples/mplot3d/scatter3d_demo.py

def randrange(n, vmin, vmax):

return (vmax - vmin) * np.random.rand(n) + vmin

n = 100

xx = randrange(n, 23, 32)

yy = randrange(n, 0, 100)

zz = randrange(n, -50, -25)

# Create a figure and a 3D Axes

fig = plt.figure()

ax = Axes3D(fig)

# Create an init function and the animate functions.

# Both are explained in the tutorial. Since we are changing

# the the elevation and azimuth and no objects are really

# changed on the plot we don't have to return anything from

# the init and animate function. (return value is explained

# in the tutorial.

def init():

x = np.linspace(0, 100, 100)

y = np.linspace(0, 100, 100)

ax.scatter(xx, yy, zz, marker='o', s=20, c="goldenrod", alpha=0.6)

def animate(i):

ax.view_init(elev=10., azim=i)

# Animate

anim = animation.FuncAnimation(fig, animate, init_func=init,

frames=360, interval=20, blit=True)

# Save

anim.save('basic_animation.mp4', fps=30, extra_args=['-vcodec', 'libx264'])

你可能感兴趣的:(python,3d绘图旋转)