如何绘制4D图的表面?

时间:2013-12-04 20:59:39

标签: python plot waveform

我正在尝试在3D框中绘制粒子的波函数。这需要我绘制4个变量:x,y,z轴和概率密度函数。

概率密度函数是:

abs((np.sin((p*np.pi*X)/a))*(np.sin((q*np.pi*Y)/b))*(np.sin((r*np.pi*Z)/c)))**2

我正在使用np.arange()作为X,Y和Z。

我已经读到要做到这一点,你需要绘制4D图的表面。 这是它应该是什么样子:

enter image description here

2 个答案:

答案 0 :(得分:1)

您想要针对所有三个空间坐标绘制3D标量场f(x,y,z)。 我不确定你真正愿意做什么:你在谈论哪些表面?您可能想要绘制等密度表面,这样可以清晰地显示视野。 我不知道Matplotlib的配方,但是使用Mayavi2(一个很棒的3D绘图Python库),你可以使用“contour3d”: http://docs.enthought.com/mayavi/mayavi/auto/mlab_helper_functions.html#mayavi.mlab.contour3d

无论如何,如果你愿意做高级3D的东西,Mayavi比Matplotlib更好。 请参阅图库以获取示例: http://docs.enthought.com/mayavi/mayavi/auto/examples.html

希望有所帮助!

答案 1 :(得分:0)

这些图是否基本上允许三个变量自由变化,同时修复其中一个变量然后循环遍历所有变量?如果是这样,那么可以使用matplotlib.Axes3d等来实现这些图?

相关问题