我想通过一次绘制一个点来制作3D散点图的动画。其效果将是显示随着点的填充而出现的3D函数。
如果我使用matplotlib FuncAnimation,我的初始化应该绘制一个点,然后开始填充。如何在3D中绘制单个点?
发布于 2014-12-19 17:55:02
谢谢安德鲁让我在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)但是,只有在绘制完所有点之后,才会显示该图。它不是一个接一个地显示每个点的绘图!!
https://stackoverflow.com/questions/27544858
复制相似问题