Why my barchart's 'xticklabel' is skipping the odd numbers and adding 0 and another number at the end?

3 Ansichten (letzte 30 Tage)
This is my code where i expect 1,2,3,4,5 as "xticklabel". But MATLAB is adding 0 and 6 at the end and skipping 1,3,5!
EFV = [34.4263250184944312;
55.7029868436263982;
56.9140938310396862;
60.0977661822922329;
15.4772478454135065];
figure(1)
title(' (EFV)','fontsize',10,"fontweight","Bold");
xlabel(' Mechanisms')
ylabel('(EFV)')
box on
hold on
for i = 1:length(EFV)
h=bar(i,EFV(i));
if EFV(i) == min(EFV)
set(h,'FaceColor','b');
elseif EFV(i) == max(EFV)
set(h,'FaceColor','r');
else
set(h,'FaceColor','k');
end
end

Akzeptierte Antwort

Bjorn Gustavsson
Bjorn Gustavsson am 14 Jan. 2019
Well, matlab has its own way to select and adjust what tick-marks should be used. What you can add at the end is something like this:
xticks = 1:numel(EVF);
set(gca,'XTick',xticks)
HTH
  2 Kommentare
Mr. 206
Mr. 206 am 14 Jan. 2019
Thanks.
How can i remove additional space at the beginning and at the end?
Bjorn Gustavsson
Bjorn Gustavsson am 14 Jan. 2019
I typically use something like:
edge_width = 0.1;
xmin = 1;
xmax = numel(EVF);
ax = axis;
axis([xmin-edge_width xmax+edge_width ax(3:4)])
HTH

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Labels and Annotations finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by