MATLAB: Color histogram as a function of x-axis

histogram

Hello all,
I am having trouble getting a histogram colored the way I want. I think the problem is simple, but its alluding me. All I want to do is have the plotted histogram color graded as a function of the x-axis values.
Best, -J

Best Answer

There is no built in function in MATLAB to do this.
My suggestion is:
x = rand(1000,1);
[n,xout] = hist(x);
width = 0.8*(xout(2)-xout(1));
base = 0;
clr = jet(length(n));
hold on
for k=1:length(n)
fill([xout(k)-width/2 xout(k)+width/2 xout(k)+width/2 xout(k)-width/2],...
[base base n(k) n(k)],clr(k,:))
end
hold off
see also: