surf and color bar does not show correct color gradient.

The 'surf' command does not show the correct color gradient, e.g. for the 10x10 matrix below
0.0201 0.0201 0.0201 0.0201 0.0201 0.0201 0.0201 0.0201 0.0201 0.0201 0.0201
0.0149 0.0149 0.0149 0.0149 0.0149 0.0149 0.0149 0.0149 0.0149 0.0149 0.0149
0.0057 0.0057 0.0057 0.0057 0.0057 0.0057 0.0057 0.0057 0.0057 0.0057 0.0057
0.0010 0.0010 0.0010 0.0010 0.0010 0.0010 0.0010 0.0010 0.0010 0.0010 0.0010
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0 0 0 0 0 0 0 0 0 0 0
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0010 0.0010 0.0010 0.0010 0.0010 0.0010 0.0010 0.0010 0.0010 0.0010 0.0010
0.0057 0.0057 0.0057 0.0057 0.0057 0.0057 0.0057 0.0057 0.0057 0.0057 0.0057
0.0149 0.0149 0.0149 0.0149 0.0149 0.0149 0.0149 0.0149 0.0149 0.0149 0.0149
0.0201 0.0201 0.0201 0.0201 0.0201 0.0201 0.0201 0.0201 0.0201 0.0201 0.0201
it shows the figure like this
on the left and right it has same nodal values so it should show the same color gradient. Please help how to fix it.
Many Thanks in Advance.
Abdullah.

 Respuesta aceptada

What's happening here is that you have FaceColor='flat'. In this case, it's using your 10x10 matrix as the Z values of the vertices. That means that it's creating a 9x9 grid of quadrilaterals. Because FaceColor='flat' wants to assign one color to each of those 81 quads, it doesn't use the last row and column of your data.
You might want to try FaceColor='interp', like this:
surf(mydata,'FaceColor','interp')
or create separate ZData and CData, like this:
myzdata = randn(10);
mycdata = randn(9);
surf(myzdata,mycdata)
Does that make sense?

2 comentarios

Thank you it solves the problem.
IMRAN
IMRAN el 15 de Nov. de 2023
Correct. Thanks buddy

Iniciar sesión para comentar.

Más respuestas (1)

Follow your plotting command with
shading interp

2 comentarios

and if you want to keep the lines of the grid,
s = surf(x);
shading interp
s.EdgeColor = 'k';
Thank you.

Iniciar sesión para comentar.

Productos

Etiquetas

Preguntada:

el 19 de Mayo de 2015

Comentada:

el 15 de Nov. de 2023

Community Treasure Hunt

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

Start Hunting!

Translated by