如何在matplotlib中对3D散点图进行放大

时间:2018-03-27 21:42:08

标签: python animation matplotlib

我是学生,我是matplotlib动画的新手。

我正在试图弄清楚如何在我的三维散点图的中心放大,并且我已经在下面包含了我的代码。我试图让零点位于每个轴的中间,这样我就可以看到整个绘图作为放大。每当我运行代码时我都不会收到错误但是当我运行动画时间隔突然改变,似乎没有某种模式。我注意到的另一件事是零点有时只在轴的中间,而情节"出现故障"。

谢谢。

import matplotlib.pylab as plt

import matplotlib.animation as animation
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
%matplotlib notebook


x = np.random.rand(100)*100 
y = np.random.rand(100)*100
z = np.random.rand(100)*100

#setup figure
fig = plt.figure()
ax = fig.add_subplot(111, facecolor='LightCyan', projection = '3d')

#set up viewing window (in this case the 25 most recent values)

ax.set_xlim([-1, 1])
ax.set_ylim([-1,1])
ax.set_zlim([-1,1])


#sets up list of images for animation
plot = ax.scatter(x, y, z, color='b', marker= '*',)

def func(i):

    x_lim = ax.set_xlim(-i,i)

    y_lim = ax.set_ylim(-i, i)

    z_lim = ax.set_zlim(-i, i)

    return plot

ani = animation.FuncAnimation(fig, func, frames=100, interval=1000, blit=True)

0 个答案:

没有答案