changing the histogram color

84 views (last 30 days)
evangeline
evangeline on 22 Jan 2014
Commented: evangeline on 22 Jan 2014
Is there any way to change the color of a histogram?

Accepted Answer

Image Analyst
Image Analyst on 22 Jan 2014
If you want each bar in a different color, then try the attached demo (below in blue text).

More Answers (1)

Bjorn Gustavsson
Bjorn Gustavsson on 22 Jan 2014
Yes.
help hist
There you'll see that hist with no output parameters plot the histogram with BAR, and that you can get the count and bin position out of hist: [N,X] = hist(...
help bar
There you'll find more information about how to control and set the parameters of a bar plot.
So after reading that, and messing about with get(Bh) you'll end up with this:
[N,X] = hist(...
Bh = bar(X,N,'facecolor',[0.3 0.7 0.2]);
HTH
  3 Comments
Image Analyst
Image Analyst on 22 Jan 2014
That's why I prefer explicit, descriptive variable names. N is the pixel counts, and X is the gray level. You might write this as
axes(handles.axesImage); % Use the image axes to show the image.
imshow(grayImage);
axes(handles.axesPlot); % Use the plot axes for the plot.
[pixelCounts, grayLevels] = imhist(grayImage, 256);
bar(grayLevels, pixelCounts, 'FaceColor', [0.3 0.7 0.2]);
This will give 256 bars with each bar the color [0.3 0.7 0.2] which is greenish.
evangeline
evangeline on 22 Jan 2014
thanks, so helpful

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!