4

I have a dataset like so:

  | 0.1  0.2  0.3  0.4
----------------------
1 | 10   11   12   13
2 | 11   12   13   14
3 | 12   13   14   15
4 | 13   14   15   16

I want to plot a 3D surface graph in matlab such that the column headings will be on the y axis, the row headings will be on the x axis and the remaining values will determine the height of the point on the z axis.

I have had a look around at lots of different example and I can't work out how to achieve this. At the moment I have got the following:

Y = [0.1 0.2 0.3 0.4];
X = [1 2 3 4];
Z = [10 11 12 13; 11 12 13 14; 12 13 14 15; 13 14 15 16];

Please could someone help me out?

2 Answers 2

4
surf(X,Y,Z)

Sign up to request clarification or add additional context in comments.

1 Comment

Thankyou! I didn't realise it was so simple - I was massively overcomplicating my attempts.
1

May a bar plot yield the desired picture?

Y = [0.1 0.2 0.3 0.4];
X = [1 2 3 4];
Z = [10 11 12 13; 11 12 13 14; 12 13 14 15; 13 14 15 16];

figure;
bar3(Z)
set(gca(gcf), 'xticklabel',{'0.1','0.2','0.3','0.4'})

3d plot

1 Comment

Hello, thank you for this response. Do you are sure that your answer is true? If yes, so I can use it :)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.