How can I plot 4-dimensional plot?

1 view (last 30 days)
Anshul Jain
Anshul Jain on 12 Jan 2021
Commented: KSSV on 12 Jan 2021
Respected sir,
I am attaching an excel file here.
I want a plot between columns' values F, G, H and I for 216 values in such a manner that values of l1, l2 and l3 should be along X, Y and Z axes and plot of values of Lz in between.
Here, every value of l1, l2 and l3 leads to the value of the corresponding value of Lz and the range of each one of l1, l2 and l3 is between 800 to 1200.
Kindly let me know how to draw this plot.
Thanks in advance.
Anshul

Answers (1)

KSSV
KSSV on 12 Jan 2021
Have a look on slice.
T = readtable('Book1.xlsx') ;
l1 = T.l1 ;
l2 = T.l2 ;
l3 = T.l3 ;
Lz = T.Lz ;
nx = length(unique(l1)) ;
ny = length(unique(l2)) ;
nz = length(unique(l3)) ;
X = reshape(l1,nx,ny,nz) ;
Y = reshape(l2,nx,ny,nz) ;
Z = reshape(l3,nx,ny,nz) ;
C = reshape(Lz,nx,ny,nz) ;
figure
hold on
for i = 1:nz
surf(X(:,:,i),Y(:,:,i),Z(:,:,i),C(:,:,i))
end
  4 Comments
Anshul Jain
Anshul Jain on 12 Jan 2021
Respected Sir,
Thank you once again.
It is a 4-D plot but sir in the middle portion, I want the value of Lz.
Right now, the plot I am getting in the middle portion is not for Lz (as per the plot is looking) [Attached file]
Kindly help.
Sorry for any inconvenience.
KSSV
KSSV on 12 Jan 2021
REad about slice. This is your function. I mentioned this already.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!