我想通过一次绘制一个点来为3D散点图设置动画。效果将是显示随着点填充而出现的3D功能。
如果我使用matplotlib FuncAnimation,我的init应绘制一个点,然后开始填充。如何在3D中绘制单个点?
答案 0 :(得分:2)
谢谢安德鲁让我看看MayaVi2中的points3d。与此同时,我尝试了以下代码。
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
plt.ion()
fig = plt.figure(figsize=(12,8))
ax = fig.add_subplot(111, projection='3d')
def fun(x,y):
return ((x**2 - y**2) * np.exp(-x**2 - y**2))
x = y = np.arange(-3.0,3.0, 0.05)
X, Y = np.meshgrid(x,y)
zs = np.array([fun(x,y) for x,y in zip(np.ravel(X), np.ravel(Y))])
Z = zs.reshape(X.shape)
for i in range(len(X)):
for j in range(len(Y)):
ax.scatter(X[i][j], Y[i][j], Z[i][j], c='r', marker='o')
plt.draw()
plt.pause(0.5)
但是只有在绘制了所有点之后才会显示该图。它没有一个接一个地显示每个点的情节!!