Plot a three dimensional matrix
8 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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.
0 Commenti
Risposta accettata
Image Analyst
il 23 Ago 2013
Modificato: Image Analyst
il 23 Ago 2013
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.
0 Commenti
Più risposte (0)
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!