【发布时间】:2015-02-19 14:24:09
【问题描述】:
我试图在 R^3 的立方体上可视化 3 个参数的函数,以了解函数的平滑度。下面的示例代码展示了这个问题的一个例子
%pylab
from mpl_toolkits.mplot3d import Axes3D
import itertools
x = np.linspace(0,10,50)
y = np.linspace(0,15,50)
z = np.linspace(0,8,50)
points = []
for element in itertools.product(x, y, z):
points.append(element)
def f(vals):
return np.cos(vals[0]) + np.sin(vals[1]) + vals[2]**0.5
fxyz = map(f, points)
xi, yi, zi = zip(*points)
fig = plt.figure(figsize=(12, 8))
ax = fig.add_subplot(111, projection='3d')
ax.scatter(xi, yi, zi, c=fxyz, alpha=0.5)
plt.show()
这种方法的问题是立方体的内部无法可视化。有没有更好的方法在 R^3 的某个密集子集上绘制函数?
【问题讨论】:
-
我建议你使用 Mayavi。
-
如前所述,使用其他软件(如 Mayavi)是一个更好的选择。可以使用的两种技术是:等值曲面和体积渲染。
-
@HYRY 谢谢,这正是我想要的
标签: python matplotlib data-visualization mayavi