Explanation of surf plot

3 vues (au cours des 30 derniers jours)
Louise Wilson
Louise Wilson le 28 Juil 2023
Modifié(e) : Cris LaPierre le 28 Juil 2023
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 commentaires
Louise Wilson
Louise Wilson le 28 Juil 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 le 28 Juil 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.

Connectez-vous pour commenter.

Réponse acceptée

Cris LaPierre
Cris LaPierre le 28 Juil 2023
Modifié(e) : Cris LaPierre le 28 Juil 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 commentaires
Joel Hottinger
Joel Hottinger le 28 Juil 2023
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 le 28 Juil 2023
Yup, I see now, thanks!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur 2-D and 3-D Plots dans Help Center et File Exchange

Tags

Produits


Version

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by