Plot a three dimensional matrix

조회 수: 8 (최근 30일)
Roberto
Roberto 2013년 8월 23일
hello,
I have a 128x128x128 matrix with coeficients between 0 and 1 representing the discrete wave function of a BEC. I want to interpret this data with a graph, make a plot such as giving different intenstity colour to each (i,j,k) coeficient from the matrix, or plotting some kind of isosurface. Most important, I want to see the significant values "spatial shape". I accept suggestions. Thanks for your help.

채택된 답변

Image Analyst
Image Analyst 2013년 8월 23일
편집: Image Analyst 2013년 8월 23일
MATLAB doesn't have really great 3D volume visualization. About the best it can do are surface renderings or cutaway views, like you can see in the visualizations chapter in the help (MATLAB->Graphics->2-D and 3-D Plots->Surfaces, Volumes, and Polygons), for example the slice() or isosurface() functions. Perhaps one of those will work for you. If you want a two and a half D rendering, you can take one of your planes and pass it into surf(). Or you can somehow compress your image into a 2D image, like sum it along one of the dimensions or take a "maximum intensity projection" or something like that, then display it with image() or imshow(), after which you can apply a colormap if you want.
If the points you'd really like to visualize are scattered around various locations in your volume, like a wavy sheet, a surface like an ellipsoid, or even just isolated points, then you might be able to use plot3() or scatter3(). It's hard to make recommendation for a 3D array in general until we know what in that would you like to display.
For true 3D rendering, see Avizo: http://www.vsg3d.com/avizo/overview

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Lighting, Transparency, and Shading에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by