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

Learn moreOpportunities for recent engineering grads.

Apply TodayTo resolve issues starting MATLAB on Mac OS X 10.10 (Yosemite) visit: http://www.mathworks.com/matlabcentral/answers/159016

Asked by Xiu on 28 Oct 2011

How to generate a 3D line plot? I know how to generate 3D surface plot using mesh,surf,etc. But instead of surface, i want line plot. for example, I have a set of data, i want to plot the data against time stamp and variables. I tried using plot3, but this function require the inputs to have same dimension. Can anyone help me with this, please?

*No products are associated with this question.*

Answer by Fangjun Jiang on 28 Oct 2011

Accepted answer

If you want to plot 3D lines, you need to have 3D data, whether the data is the typical x,y,z coordinates or one of the dimension is time.

line() can support (x,y,z) pairs.

Xiu on 28 Oct 2011

Say i have a data set with dimension of m by n. I want to plot the data on z axis, a vector of m on y axis and a vector of n on x axis.

from my understanding of function line(), the dimension of the inputs must be the same, which in my case, I have two vectors with different size and a matrix.

Fangjun Jiang on 28 Oct 2011

Maybe you need to use meshgrid() to create the vector for m and n

%%

m=7;

n=8;

d=rand(m,n)

[x,y]=meshgrid(1:n,1:m);

plot3(x,y,d);grid on;

## 0 Comments