I used the following code to plot some example data:
A(1,1:51)=0:1:50;
A(2,2:51)=1;
A(3,2:51)=2;
A(4,2:51)=3;
A(5,2:51)=4;
A(6,2:51)=5;
A(7,2:51)=6;
A(8,2:51)=7;
A(9,2:51)=8;
A(10,2:51)=9;
A(1:10,1)=[0 1 2 3 4 5 6 7 8 9];
f=A(1,2:51);
t=A(2:10,1);
d=(A(2:end,2:end))';
surf(t,f,d,'EdgeColor','none');
view(0,90)
xlim([0 10])
colorbar
I'd like to understand how I get the code to plot all of the data.
There are nine different values in matrix 'A', but only 1-8 are plotted. Why is that?
Thanks!

3 comentarios

Dyuman Joshi
Dyuman Joshi el 28 de Jul. de 2023
"Why is that?"
Take a look at your code. Look at how the variables used as input to surf have been defined.
Louise Wilson
Louise Wilson el 28 de Jul. de 2023
Sorry, but this doesn't help me... I can see how the variables are defined, but don't understand what is wrong about it.
Louise Wilson
Louise Wilson el 28 de Jul. de 2023
  • where x = 1, c = 1, which is what I desire - but for some reason, the final x data point (9) isn't plotted. I'd like to understand why that is, so I can remedy it.

Iniciar sesión para comentar.

 Respuesta aceptada

Cris LaPierre
Cris LaPierre el 28 de Jul. de 2023
Editada: Cris LaPierre el 28 de Jul. de 2023
What if we simplify the code?
X = 0:9;
Y = 0:50;
A = ones(51,10) .* X;
surf(X,Y,A,'EdgeColor','none');
colorbar
surf colors the face between points. So if you have 10 point along x, there are 9 faces (0-1, 1-2, ..., 8-9).

2 comentarios

I think the key here is the between the points line. This becomes very apparent if we have a 2x2 matrix:
a = [1,1;2,2];
surf(a)
view(2)
Louise Wilson
Louise Wilson el 28 de Jul. de 2023
Yup, I see now, thanks!

Iniciar sesión para comentar.

Más respuestas (0)

Productos

Versión

R2022a

Etiquetas

Preguntada:

el 28 de Jul. de 2023

Editada:

el 28 de Jul. de 2023

Community Treasure Hunt

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

Start Hunting!

Translated by