How to create a waterfall plot with two matrices and a vector

14 views (last 30 days)
Hi,
Not sure if this is possible, but:
I want to create a waterfall plot from a set of data in the following format
X = [m x n]
Y = [m]
Z = [m x n]
So what i want is for the mth value in Y, i want to take the corresponding n row from X and plot it against the n row from Z. Then move onto the next value of m from Y, and plot X against Z etc.
So I end up with many plots of X vs Z along a Y-axis to form a waterfall.
How might i do this? The waterfall function only allows X to be a vector.
  2 Comments
Joseph Harris
Joseph Harris on 6 Mar 2013
Edited: Joseph Harris on 6 Mar 2013
This is basically what i want to do, so my Y-axis is a simple [1 x 21] vector, but my X and Z axis are [21 x 1001] matrices.
I managed to get the above image by creating waterfall plot with only the first row of my X matrix, but obviously i would like to plot each row of Z against the corresponding row of X.

Sign in to comment.

Accepted Answer

Joseph Harris
Joseph Harris on 7 Mar 2013
OK so i did it in the end. It wasn't that hard, but i had to do it in a loop. Couldn't work out a way to do it in one step.
for g = 1:length(Y)
hold on
waterfall(X(g,:),Y(g),Z(g,:))
end

More Answers (1)

Azzi Abdelmalek
Azzi Abdelmalek on 6 Mar 2013
Example
m=10;
n=40;
z= sort(rand(m , n),2)
y = randi(m,m,1)
x = rand(m, n)
xx=x(y,:)
zz=z(y,:)
plot(zz',xx')

Community Treasure Hunt

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

Start Hunting!