Hallo, dieser Skript plottet die Legende falsch. Nämlich werden die in
grün gezeichneten + in der Legende als rot gezeichnet.
Der Skript soll das Histogramm, Whkdichte,den Mittelwert sowie die
Mittelwert+- Standartabweichung anzeigen.
Legend guckt einfach nur das aktuelle axes Object an, sucht die children
von vorne nach hinten ab und gibt den ersten N (in deinem Fall N = 5)
Kindern in den Farben, wie sie geplottet werden einen Namen.
Vergleiche mal:
1
figure
2
subplot(211)
3
hold all
4
x = 1:5;
5
plot(x, rand(length(x), 3), 'linewidth', 1.5); % plotte 3 verschiedene zufällige Kurven und speichere die handles
6
plot(x,rand(length(x), 2), 'linewidth', 1.5); % 2 weitere
7
legend({'eins','vier','fünf'})
8
9
subplot(212)
10
hold all
11
h = gobjects;
12
h(1:3) = plot(x, rand(length(x), 3), 'linewidth', 1.5); % plotte 3 verschiedene zufällige Kurven und speichere die handles
13
h(4:5) = plot(x, rand(length(x), 2), 'linewidth', 1.5); % 2 weitere
14
legend(h([1 4:5]),{'eins','vier','fünf'})
Im ersten Fall schreibt der halt an die ersten 3 Plots die Legende. Im
zweiten Fall genau denen, die du ausgewählt hast, indem du die plot
handles mitgibst.
In deinem Fall passiert das, weil laut
http://www.mathworks.com/help/stats/histfit.html bei h = histfit(bla)
ebenfalls zwei handles zurück gegeben werden, einmal der plot handle zu
deinem histogram h(1) und zu deinem density plot h(2).
Klarer geworden?
Schöne Grüße,
Jan