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
Eine eigene Frage?
Dieser Thread ist über 10 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.