Control histogram appearance: width of bars

57 vues (au cours des 30 derniers jours)
odo22
odo22 le 26 Sep 2016
Modifié(e) : michio le 29 Sep 2016
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:

Réponse acceptée

michio
michio le 26 Sep 2016
'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 commentaires
michio
michio le 27 Sep 2016
Modifié(e) : michio le 29 Sep 2016
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 le 29 Sep 2016
Worked - thanks a lot! :)

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Data Distribution Plots dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by