採用された回答

Image Analyst
Image Analyst 2014 年 1 月 22 日

0 投票

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

その他の回答 (1 件)

Bjorn Gustavsson
Bjorn Gustavsson 2014 年 1 月 22 日

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 件のコメント

evangeline
evangeline 2014 年 1 月 22 日
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
Image Analyst
Image Analyst 2014 年 1 月 22 日
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 2014 年 1 月 22 日
thanks, so helpful

サインインしてコメントする。

カテゴリ

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by