Borrar filtros
Borrar filtros

How to implement gradient fill based on Waterfall command?

3 visualizaciones (últimos 30 días)
Pengkun Shi
Pengkun Shi el 19 de Oct. de 2022
Editada: Walter Roberson el 30 de Ag. de 2023
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.

Respuestas (1)

Saffan
Saffan el 30 de Ag. de 2023
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:

Categorías

Más información sobre Surface and Mesh Plots en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by