ich habe ein Problem mit dem Erstellen eines Boxcharts. Die "boxchart"-Funktion scheint noch recht neu zu sein, ich habe zumindest relativ wenig dazu gefunden.
Mit meinem Code klappt das Erstellen der Box Charts schon ganz gut. Es entstehen insgesamt 11 Boxen nebeneinander. Ich frage mich nun, wie ich bei einzelnen Boxen die Farbe ändern kann?
Es gibt zu jedem Max Wert noch einen Min Wert, den ich noch hinzufügen werde. Die maximalen und die minimalen Werte sollen unterschiedliche Farben bekommen.
Einfach veränderliche Variablen an den drei Positionen einsetzen.
Die lassen sich z.B. per Schleife verändern, oder man speichert bestimmte Werte vorab in einer MAtrix, oder...
Danke für die Antwort. Wie würde das dann funktionieren?
Ich stelle mir das so vor, dass jede Box, die aus einer Datei erstellt wurde, die das Wort "Max" enthält beispielsweise Farbe [0.8500 0.3250 0.0980] bekommt. Die Boxen, die aus einer Datei erstellt wurden, die das Wort "Min" enthalten dann zum Beispiel die Farbe [0 0.4470 0.7410] bekommen. Also in meinem ersten Code fehlen noch zu jeder Max Datei eine Min Datei, die ich dann noch hinzufügen werden.
Also ich habe gerade noch einmal ein bisschen rumprobiert und vor allem die Dateien für die minimalen Werte hinzugefügt. Einen Fehler habe ich leider immer noch.
Mit folgendem Code werden insgesamt 22 Boxplots nebeneinander dargestellt und Farben verteilt:
Code:
t=1; %Zur Verschiebung der Position der einzelnen Boxen
groupmax = [26.26-t*ones(size(FargeMax)); %maximale Werte
33.32-t*ones(size(ElsflMax));
39.18-t*ones(size(BrakeMax));
46.46-t*ones(size(RechtMax));
50.52-t*ones(size(StrohMax));
55.81-t*ones(size(NordenhMax));
62.45-t*ones(size(BlexenMax));
66.64-t*ones(size(BrALMax));
79.94-t*ones(size(RobbMax));
92.66-t*ones(size(DwarsMax));
115-t*ones(size(LAWMax))];
Durch das GroupByColor werden die Farben richtig verteilt. Wie man diese nun selbst bestimmt weiß ich nicht, aber das ist auch nicht mein Hauptproblem. Die folgenden Zeilen ergeben nun eine Fehlermeldung. Vor der Einteilung mit den Farben hat das wunderbar funktioniert.
Debugge, wo genau der Fehler liegt.
Im Zweifel auskommentieren und eine Zeile nach der anderen wieder dazu.
Da du kein Lauffähiges Minimalbeispiel hast kann so gerade nur geraten werden.
_________________
LG
Martina
"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
Hallo Martina, vielen Dank für deine Antwort. Leider arbeite ich erst seit kurzem mit Matlab und kenne mich daher nicht so gut aus. Das erstellen der BoxCharts hat schon ganz gut funktioniert, mit dem Fehler finden, tue ich mich aber sehr schwer. Ich würde mich freuen, wenn sich jemand meinen Code nochmal angucken kann. Ich habe dazu den Code für ein Beispiel geschrieben.
Er beinhaltet drei Versuche den BoxChart zu erstellen:
1. Versuch: Mit einer Farbe, alles läuft perfekt
2. Versuch: Mit zwei Farben nach Gruppen geordnet, Farben werden richtig dargestellt, aber: Die BoxChart Properties (also z.B. b.JitterOutliers = 'on') ergeben eine Fehlermeldung
3. Versuch: Mit zwei Farben nach Gruppen geordnet, Farben werden richtig dargestellt, aber: Die BoxChart Properties (diesmal direkt in der BoxChart Zeile) werden nicht richtig dargestellt. Die Boxen vergrößern sich zwar, aber nicht auf die ursprüngliche Größe wie im ersten Versuch.
Und das stellt gerade mein Problem dar. In meinem eigentlichen Code, habe ich deutlich mehr Boxen nebeneinander. Wenn die Boxen dann so schmal sind, kommen diese kaum zur Geltung.
Code:
t=1; %Zur Verschiebung der Position der einzelnen Boxen
%% Boxchart mit zwei Farben, nach Gruppen geordnet % BoxChart Properties ergeben Fehlermeldung % Error: Expected one output from a curly brace or dot indexing expression, but there were 2 results.
%% Boxchart mit zwei Farben, nach Gruppen geordnet % BoxChart Properties ergeben keine Fehlermeldung, laufen allerdings auch % nicht richtig. BoxWidth vergrößert die Box, aber nicht so sehr, wie beim ürsprünglichen ersten Plot.
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Danke dir Harald für die Antwort. Das hat tatsächlich die Fehlermeldung gelöst, aber leider noch nicht mein Problem. Ich kann damit die Boxen anpassen, das klappt soweit gut.
Ich kann sie allerdings nicht auf die ursprüngliche Breite wie in dem Plot mit nur einer Farbe bringen. Um zu verdeutlichen was ich meine nochmal mein Beispiel von oben:
Code:
%Code um BoxChart im nächsten Schritt zu erstellen:
t=1; %Zur Verschiebung der Position der einzelnen Boxen
Wenn ich dann Farben nach den zwei erstellten Gruppen verteilen, kann man das auch super plotten, nur das mit folgendem Code die Boxen schmaler sind, als beim ersten Plot:
Code:
%% Boxchart mit zwei Farben, nach Gruppen geordnet
Ich weiß leider gar nicht woran das liegt, aber wenn die Farben einfach einheitlich dargestellt werden, sind die Boxen breiter.
Für mich ist das blöd, weil ich sehr viele Boxen nebeneinander darstellen will und die Boxen jetzt sehr schmal geworden sind. Vielleicht fällt da jemanden was zu ein, ansonsten muss ich mich damit zufrieden geben.
hier habe ich leider auch keine Lösung.
Das naheliegende, BoxWidth zu vergrößern, ist nicht zulässig.
Daher würde ich vorschlagen, den Technischen Support von MathWorks zu kontaktieren.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Alles klar, danke! Damit kann ich auch schon mal was anfangen
Falls sich da was ergibt, werde ich die Lösung hier posten. Ich setzte die Frage mal als "beantwortet".
Einstellungen und Berechtigungen
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.