surf and color bar does not show correct color gradient.
4 views (last 30 days)
Show older comments
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.
0 Comments
Accepted Answer
Mike Garrity
on 19 May 2015
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 Comments
More Answers (1)
Chad Greene
on 19 May 2015
Follow your plotting command with
shading interp
2 Comments
Chad Greene
on 19 May 2015
and if you want to keep the lines of the grid,
s = surf(x);
shading interp
s.EdgeColor = 'k';
See Also
Categories
Find more on Discrete Data Plots in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!