mehrere Farben auf matlab-Histogramm

Hallo, ich versuche, mehrere Farben auf einem matlab-Histogramm - ich denke, der sollte Folgendes tun:

figure
hist(ligand,50)
h=findobj(gca,'Type','patch');
set(h,'FaceColor',[0 .5 .5],'EdgeColor','w')
hold on;
hist(potassium,50)
g=findobj(gca,'Type','patch');
set(g,'FaceColor',[0 1 1],'EdgeColor','w')
hold on;
hist(rectifier,50)
title('Alignment to AFP1')
xlabel('Score'); ylabel('Number of Sequences')
hold off;

wo die erste Farbe ist [0 .5 .5], das zweite [0 1 1] und die Dritte ist die Standard-Farbe. Jedoch, obwohl ich angegeben habe, zwei separate Farben für die ersten zwei mit zwei Griffen, h-und g - beide sind die gleiche Farbe, mit der g-Griff.

Was mache ich falsch?

Bearbeiten - das ist für Luis Mendos Vorschlag - ich bin immer ein "index exceeds matrix dimensions" mit den folgenden

figure
hist(ligand,50)
g=findobj(gca,'Type','patch');
set(g(1),'FaceColor',[0 .5 .5],'EdgeColor','w')
hold on;
hist(potassium,50)
set(g(2),'FaceColor',[0 1 1],'EdgeColor','w')
hist(rectifier,50)
title('Alignment to AFP1')
xlabel('Score'); ylabel('Number of Sequences')
hold off; 

Dank.

  • Haben Sie versucht, mit h = hist(ligand, 50) anstelle der mit gca?
  • Ich denke, das problem ist g ist eine zwei-element-Vektor. Versuchen set(g(1),'FaceColor',[0 .5 .5],'EdgeColor','w'), set(g(2),'FaceColor',[0 1 1],'EdgeColor','w')
  • hist nicht ein handle zurück. Es wird wieder die bin Graf
  • ooops, stimmt, dass
InformationsquelleAutor brucezepplin | 2013-10-10
Schreibe einen Kommentar