Verfasst am: 28.08.2012, 15:59
Titel: barplot einer matrix mit fehlerbalken
Hallo!
ich bin am verzweifeln!
ich habe eine matrix 3x7. diese plotte ich mit bar und erhalte ein balkendiagramm mit 3 gruppen a 7 balken.
nun möchte ich die fehlerbalken zu diesen werten bringen.
dazu habe ich die fehler ebenfalls in einer 3x7-matrix.
wenn ich nun errorbar anwende, werden alle fehlerbalken gebündelt in der mitte der drei gruppen dargestellt.
irgenwie müssen diese verschoben werden.
dazu habe ich jetzt lange nachgeforscht und folgendes gefunden und auf mein beispiel angewandt (GESAMT_links und GESAMT_std_links sind oben erwähnte matrizen):
Code:
[M,N] = size(GESAMT_links);
h = bar(GESAMT_links);
hx = get(h, 'XData');
x = [hx{:}];
x = reshape(mean(x(2:3,:)),M,N);
set(gca, 'XLim', [0(length(GESAMT_links)+1)]);
errorbar(x, GESAMT_links, GESAMT_std_links, 'linestyle','none');
ich bekomme für die zeile x = reshape... stets die meldung "Index exceeds matrix dimensions."
hier werden die reihen 2 und 3 angesprochen, die allerdings gar nicht existieren, wenn ich das richtig interpretiere!
"x(2:3, :)" ist eine [2 x ?] Matrix. MEAN() berechnet nun den Mittelwert über die erste Dimension, so dass das Ergebnis ein [1 x ?] Vektor ist. Wenn nun das mir unbekannte "?" nicht exakt M*N ist, kann man diesen Vektor auch nicht in eine [M x N] Matrix reshapen. Daher die Medlung "the number of elements must not change".
Falls "x" aber gar nicht 3 Zeilen besitzt, erzeugt "x(2:3, :)" die "Index exceeds matrix dimensions" Meldung.
Am besten schaust Du Dir die Größe von "x" im Debugger an.
karle
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 05.09.2012, 16:56
Titel:
Hallo Jan,
vielen Dank für deine Antwort. Leider hatte ich die letzten Tage nicht die Muße mich erneut mit dem Problem zu beschäftigen. scheiss erkältung mitten im hochsommer! Ich weiß allerdings nicht so recht, was ich mit einer Antwort anfangen soll.
Sollte x nicht die entsprechende Größe haben, ist mein problem noch immer nicht gelöst! ich komm nicht dahinter, wie ich dies lösen kann.
hast du, oder gerne auch jemand anderes, denn keinen lösungsvorschlag?
nochmal: ich habe ein balkendiagramm und möchte fehlerbalken anbringen. hast noch niemand dieses problem gehabt? ich kann fast nicht glauben!
Da ich aber nicht verstehe, wozu das MEAN dienen soll, kann ich kaum spekulieren, ob du das so einfach weglassen möchtest.
Das Ergebnis sieht jedenfalls nach Error-Bars aus, aber zumindest mit meinen per RAND() erzeugten Testdaten ist es nicht gerade aussagekräftig.
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.