Control histogram appearance: width of bars

조회 수: 56 (최근 30일)
odo22
odo22 2016년 9월 26일
편집: michio 2016년 9월 29일
Hi, I'm plotting the following histogram:
h1 = histogram(FIBR);
h1.Normalization = 'probability';
h1.BinWidth = 100;
I want to the bars to be thinner so I've called
h1 = histogram(FIBR,'BarWidth',0.5);
But I get the following error:
Error using histogram>parseinput (line 211)
Expected input to match one of these strings:
'BinEdges', 'BinLimits', 'BinLimitsMode', 'BinMethod', 'BinWidth', 'BusyAction', 'ButtonDownFcn', 'CreateFcn', 'Data', 'DeleteFcn', 'DisplayName', 'DisplayStyle',
'EdgeAlpha', 'EdgeColor', 'FaceAlpha', 'FaceColor', 'HandleVisibility', 'HitTest', 'Interruptible', 'LineStyle', 'LineWidth', 'Normalization', 'NumBins',
'Orientation', 'Parent', 'PickableParts', 'Selected', 'SelectionHighlight', 'Tag', 'UIContextMenu', 'UserData', 'Visible'
The input, 'BarWidth', did not match any of the valid strings.
Error in histogram (line 118)
[opts,args] = parseinput(args,~isempty(cax));
And I'm really confused because I'm following the manual:

채택된 답변

michio
michio 2016년 9월 26일
'BarWidth' option only applies to histograms of categorical data. Is your FIBR categorical or numerical?
The following is one of the example from the documentation:
A = [0 0 1 1 1 0 0 0 0 NaN NaN 1 0 0 0 1 0 1 0 1 0 0 0 1 1 1 1];
C = categorical(A,[1 0 NaN],{'yes','no','undecided'});
h = histogram(C,'BarWidth',0.5);
If FIBR is of some discrete values, you can convert it to categorical then use BarWith property.
  댓글 수: 4
michio
michio 2016년 9월 27일
편집: michio 2016년 9월 29일
I see. Making your data into categorical in some way is one idea. Another possible workaround would be to use bar function after counting the number of elements in the bin. Example follows.
nbins = 10;
x = randn(10000,1);
[counts,edges] = histcounts(x,nbins);
center = 0.5*(edges(1:end-1)+edges(2:end));
bar(center, counts, 0.7);
odo22
odo22 2016년 9월 29일
Worked - thanks a lot! :)

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Data Distribution Plots에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by