MATLAB - Tracé à barres avec une couleur différente et une étiquette de coche pour chaque barre

StackOverflow https://stackoverflow.com//questions/20008925

  •  20-12-2019
  •  | 
  •  

Question

Ce que j'attends du code ci-dessous, ce sont 4 barres différentes dans un tracé à barres, chacune avec des couleurs différentes et avec les étiquettes de graduation « a », « b », « c » et « d » respectivement.Les couleurs sont bonnes, mais seule la première barre porte l'étiquette « a », les trois autres n'ont pas d'étiquette.Comment puis-je obtenir des barres d'étiquetage de coches dans le tracé à barres tout en les mettant en évidence avec différentes couleurs ?J'utilise la version 2010b.Merci!

deneme = [1 2 3 4];
figure;
for i=1:length(deneme)
    if i==1
        colorcode = 'b';
    elseif i==2
        colorcode = 'g';
    elseif i==3
        colorcode = 'r';
    else
        colorcode = 'k';
    end
    bar(i, deneme(i), colorcode);
    hold on;
end
set(gca,'XTickLabel',{'a'; 'b'; 'c'; 'd'})
Était-ce utile?

La solution

Ajoutez simplement cette ligne avant votre dernière ligne :

set(gca,'Xtick',1:4)

ou combinez les deux lignes dans

set(gca,'Xtick',1:4,'XTickLabel',{'a'; 'b'; 'c'; 'd'})

D'une manière ou d'une autre, dans votre code tel qu'il est, il n'y a qu'une seule coche, donc toutes les étiquettes sauf la première n'ont pas de coche dans laquelle atterrir.Créer ces ticks avec set(gca,'xtick',...) résout le problème.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top