MATLAB Answers


How to plot in 4_D?

Asked by Preston
on 4 Apr 2013

I have a matrix: A(16,24,336). How can I plot this A matrix in 4D? The A matrix is based off the following matrices: D(16,1), T(1,24), and L(336,1). How can I plot D, T, L with the color representing the A values? Or just how could I plot this data in general? I am very new to Matlab and would appreciate as detailed explanation as possible.



No products are associated with this question.

2 Answers

Answer by bym
on 4 Apr 2013

look at the documentation for


by typing in the command window

doc slice

also, look at the documentation for



Answer by Brady Flinchum
on 21 May 2013

I think that I have an answer. I have achieved this with the data in a slightly different format

Essentially I had a file that gave me

x0, y0, z0, c0
x0, y1, z0, c1
x0, y2, z0, c2
. . .
. . . 
. . .
x1, y0, z0, c_n
x1, y1, z0, c_n+1
. . . 

To plot these I use the reshape command:

xq = reshape(x,137,19)

where the 137 is total number between repeats in the x and y, and 19 is the total number of time the pattern repeats, AKA the depth slices.

The reshape command leaves me with 4 137x19 matricies that I called xq, yq, zq, cq. You can then use the surf command to plot your data:


I hope this helps! I am still trying to figure out how to interpolate my values to a finer mesh.


Join the 15-year community celebration.

Play games and win prizes!

Learn more
Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!