polygon

clear; close
t = 0:pi/5:2*pi;
patch(sin(t),cos(t),'y')
axis equal
t = t(1:length(t)-1); % remove redundant vertex
h = linspace(0,1,10);
s = ones(10,1);
v = s;
hsv = cat(3,h',s,v);
rgb = hsv2rgb(hsv);

% You can specifiy color for each vertex, each face, or a
% single color for the entire patch.
close
patch(sin(t),cos(t),rgb);
axis equal