changing the histogram color

 Risposta accettata

Image Analyst
Image Analyst il 22 Gen 2014

0 voti

If you want each bar in a different color, then try the attached demo (below in blue text).

Più risposte (1)

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 Commenti

evangeline
evangeline il 22 Gen 2014
thanks, could u explain more about the N and X? I have read an image, a=imread(); I displayed it in an axes, and displayed the histogram in a different axes, I want to change that hist's color
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 il 22 Gen 2014
thanks, so helpful

Accedi per commentare.

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by