MATLAB如何循环填充颜色?

画一个螺旋面,然后想要达到图片1中的颜色效果,现在问题是怎么对它进行多次的颜色渐变填充,我画出来的只能做到一次渐变

img

img

代码如下:

h=4*pi;
[r,theta]=meshgrid(linspace(0,1,50),linspace(0,6*pi,500));
x=r.*cos(theta);
y=r.*sin(theta);
z=h*theta/4/pi;
surf(x,y,z);
colormap(jet)
shading interp

有方程吗,可以通过方程的网格所在位置进行调整