How to implement gradient fill based on Waterfall command?
Show older comments
Use the Waterfall command to draw a picture as shown in the following figure:
[X,Y] = meshgrid(-3:.125:3);
Z = peaks(X,Y);
C = gradient(Z);
waterfall(X,Y,Z,C)
colorbar

How can I write code to achieve gradient filling, so that the above figure has the rendering effect of the following figure?

Thanks a lot.
Answers (1)
Hi,
To accomplish this, you can use the “surf” method as shown in the following code snippet:
[X, Y] = meshgrid(-3:.125:3);
Z = peaks(X, Y);
% Calculate gradient
[dx, dy] = gradient(Z);
gradientMagnitude = sqrt(dx.^2 + dy.^2);
% Plot using surf
surf(X, Y, Z, gradientMagnitude, 'EdgeColor', 'none');
colormap('jet');
colorbar;
The “gradientMagnitude” is used as the color data for the surface, resulting in a gradient filling effect.
Refer to this for more information:
Categories
Find more on Surface and Mesh Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!