3D plot from 3D matrix
Show older comments
I read through the forums to help answer my questions before submitting a question. Eventhough there were similar questions asked, I do not believe that my question was answered.
I have a 200x200x600 matrix that needs to be plotted. The matrix contains potential data in a grid cube, The plot is basically a 3D x,y,z grid that contains potential data at those each (x,y,z) point. My question is how would one.
Surf requires (X,Y,Z) co-ordinates and Patch does not seem to be fitting. Any help appreciated!
4 Comments
If the first two dimensions also specify the x & y values (ie, x = 1:200, y = 1:200), then each (x,y) coordinate contains 600 values that will all be plotted on top of each other. That doesn't seem useful. Perhaps the details will clear things up.
Hans123
on 18 Jun 2020
Adam Danz
on 18 Jun 2020
I see what you mean. So, if I understand correctly, you want to plot a solid object. How will you see beyond its surface? Since it's a rectangle, how will you see point (50,50,50) for example?
Here's a way to plot a 3D scatter plot but I don't think this is what you're looking for.
data = reshape(1:175, 5,5,7); % Fake data, 5x5x7
[X,Y,Z] = meshgrid(1:size(data,1), 1:size(data,2),1:size(data,3));
scatter3(X(:),Y(:),Z(:), 80, data(:),'filled')
Kelly Kearney
on 18 Jun 2020
The slice function may also be of interest
Accepted Answer
More Answers (0)
Categories
Find more on Surface and Mesh Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!