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. Versuchenset(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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das problem ist, dass
g
ist eine zwei-element-Vektor, denn es beinhaltet zwei Histogramme, die bereits gezeichnet werden. Entfernen Sie die Zeilen mith
(Linien 3 und 4) und ersetzen Sie die Zeileset(g,...)
durchg=findobj...
) und vierten (set(g(1)...
) gleich nach der zweitenhist
, und vorset(g(2)...
. Probieren Sie es aus und sagen Sie mir, ob es funktioniertfindobj
Linie nach der zwei Histogramme wurden aufgetragen, so dassg
enthält beide