필터 지우기
필터 지우기

How to implement gradient fill based on Waterfall command?

조회 수: 3 (최근 30일)
Pengkun Shi
Pengkun Shi 2022년 10월 19일
편집: Walter Roberson 2023년 8월 30일
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.

답변 (1개)

Saffan
Saffan 2023년 8월 30일
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:

카테고리

Help CenterFile Exchange에서 Surface and Mesh Plots에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by