Datum:
Hallo, ich habe eine Datenmatrix. Dabei handelt es sich um Messdaten. Die erste Spalte gibt den zu messenden Wert an (also sozusagen den Erwartungswert). Dann sind pro Zeile die entsprechenden wirklich gemessenden Werte zu finden. Nun möchte ich gerne für jede Messung einen Boxplot erstellen alle Boxplots nebeneinander in eine Grafik packen. Idealerweise sollte die erste Spalte der Matrix dann die x-Achse der Grafik entsprechen. Mein Ansatz sieht erstmal so aus:
figure(1);
hold on;
for i=1:length(data)
boxplot(data(i, 2:end));
end
|
Hier habe ich aber nur einen Wert auf der x-Achse und alle Plots sind übereinander. Wie kann ich diese nebeneinander bekommen? Ich möchte also am besten sowas haben:
figure(1);
hold on;
for i=1:length(data)
% Zeichne an x-Koordinate "data(i, 1)" die Grafik "boxplot(data(i, 2:end))"
end
|
Hab noch nicht allzu viel mit Matlab gemacht und bin grade ratlos.
Datum:
subplot?
Datum:
subplot ist leider nicht das war ich will. Ich hab ein Beispiel gefunden wo genau das gemacht wird was ich will. Ich will etwas wie hier in Example 1 http://www.mathworks.de/help/toolbox/stats/boxplot.html Also es scheint mit sowas wie GroupedData zu gehen aber ich verstehe nicht wie man die bekommt/benutzt.
Datum:
einfach ein array rein werfen, oder nich? oder gehts dir darum das die xlables automatisch auftauchen und nicht mit 1,2,3 durchnummeriert sind?
Datum:
Labels wären schön, aber 1,2,3,... wär auch OK. Wenn ich ein Array reinwerfe, dannwird nur eine Box gezeichnet. wenn ich die ganze Matrix verwende, dann sehen alle Boxen gleich aus. Das ist definitiv falsch. Wenn ich zwei Grafiken mit jeweils einer Box von verschiedenen Zeilen erstelle, dann sind die unterschiedlich.
Datum:
kannst du mal deine m file posten oder dein array das du in den boxplot reinwirfst?
Datum:
Das erste Problem hab ich gelöst. Da hatte ich wohl irgendwie fehlerhafte Daten erhalten mit denen ich dann gearbeitet hab oder sowas. Dennoch habe ich jetzt ein neues Problem mit Boxplots. Ich habe jetzt eine Matrix wo nicht alle Datensätze den gleiche Länge haben. Somit hab ich das als Cellarray vorliegen und damit kann boxplot wohl nicht umgehen. Gibt es eine Möglichkeit ein Boxplot zu erstellen, wo die Datensätze verschiedene Längen haben? Es kommen insgesamt 3 Längen vor. Also die ersten Datensätze bestehen aus 60 Daten, dann kommen welche mit 40 Daten pro Datensatz und am Ende habe ich noch einige mit nur 20 Daten pro Datensatz.
Datum:
OK auch das scheine ich geschafft zu haben. Ich habe jetzt alle Datensätze stumpf hintereinander in ein Vektor geschrieben und noch einen zweiten Vektor mitgeführt, welcher zu jeden Korrespondierenden Messwert die zugehörige Gruppe mitführt. Irgendwie ist mit MATLAB noch nicht so ganz geheuer.