Plotting a 3D matrix with plot3

6 views (last 30 days)
Amit Chakraborty
Amit Chakraborty on 21 Sep 2022
Commented: Bjorn Gustavsson on 22 Sep 2022
I have 3 Matrices .
P = rand (2,2,3) ; % row=2, col =2, slice (z axis) =3
Q = rand (1,2);
R = rand (1,2);
I want to plot the Matrix P with corresonponding to Q and R matrix in such a way that :
In 3 dimensional plot => X axis : Q Matrix ; Y axis : R Matrix ; Z axis =P Matrix.
Thank you for your kind help !
  6 Comments

Sign in to comment.

Answers (1)

KSSV
KSSV on 22 Sep 2022
LambdaL = linspace(0.000001,0.0001,20); % [Matrix in X axis]
LambdaT = linspace(0.000001,0.0001,20); % [Matrix in Y axis]
z = [1 2 3 4 5]; % [Matrix in Z axis]
[LL,LT,Z] = meshgrid(LambdaL,LambdaT,z) ;
P = rand(20,20,5) ;
% plot plane at x = .000001
slice(LL,LT,Z,P,LambdaL(1),[],[])
% plot plane at x = .000001 and y = 0.0001
slice(LL,LT,Z,P,LambdaL(1),LambdaT(end),[])
% plot all planes along x
slice(LL,LT,Z,P,LambdaL,[],[])
  1 Comment
Bjorn Gustavsson
Bjorn Gustavsson on 22 Sep 2022
Sometimes I have had success with manipulating the "alpha" properties of the surfaces slice generates:
phSl = slice(LL,LT,Z,P,LambdaL,[],[]);
set(phSl,'FaceAlpha',0.7)
shading flat
If that type of visualization is what you're after matlab is a bit lacking, and the best software I've encountered is vis5d - which is an open software project that does this type of volume renderings, primarily for weather-data.

Sign in to comment.

Products

Community Treasure Hunt

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

Start Hunting!