WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Sequentielle Erstellung von Box-Plots (mit Beispiel)

 

rowJoe
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 57
Anmeldedatum: 25.11.12
Wohnort: ---
Version: 2015b
     Beitrag Verfasst am: 01.01.2013, 22:05     Titel: Sequentielle Erstellung von Box-Plots (mit Beispiel)
  Antworten mit Zitat      
Hallo Leute,

allen hier ein frohes Neues!

Ich habe mal wieder ein kleines Problem, bei dem ich alleine nicht weiter komme. Ich habe eine Tabelle mit Messwerten (Spalten beinhalten die Messreihen, Zeilen die Messwerte), aus welchen ich Box-Plots erstellen möchte.

Hört sich ersteinmal sehr einfach an. Allerdings hat das Ganze einen gewaltigen Harken: Die einzelnen Messreihen besitzen immer unterschiedlich viele Messwerte, so dass innerhalb der Tabelle die Matrixzellen ohne Messwert mit einer Null gefüllt werden. Diese nicht vorhandenen Werte beeinflussen allerdings die Ergebnisse innerhalb des BoxPlots. EIne Trennung der Messreihen in unterschiedlichen Variablen ist aus verschiedenen Gründen leider nicht möglich.

Daher meine Idee (siehe Beispiel unten!):
Abfrage welche Messwerte nicht Null sind und übergabe dieser Werte an die Funktion boxplot(). Nun möchte ich die Box-Plots aller Messreihen innerhalb einer Grafik haben. Da ich die Messreihen mit einer for-Schleife einzeln an die Funktion boxplot() übergebe, überlagern sich leider die Darstellungen - diese sollten eigentlich nebeneinander sein.

Wie kann ich das gewünschte Ergebnis erreichen? Gibt es ggf. eine einfachere Möglichkeit die Messwerte (Zellen ~= 0) zu verarbeiten? Ich habe das Problem nämlich auch noch bei einem Scatter-Plot, welchen ich erstellen möchte Rolling Eyes


Vielen Dank für eure Mühe und einen schönen Abend,

Jonas

BoxPlot_goMatlab.m
 Beschreibung:

Download
 Dateiname:  BoxPlot_goMatlab.m
 Dateigröße:  2.66 KB
 Heruntergeladen:  407 mal
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 02.01.2013, 00:15     Titel:
  Antworten mit Zitat      
Hallo,

das einfachste dürfte sein, die ungültigen Werte durch NaN zu ersetzen.
Code:
A(A == 0) = NaN;


Dann werden die entsprechenden Werte bei Plots automatisch ignoriert.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
rowJoe
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 57
Anmeldedatum: 25.11.12
Wohnort: ---
Version: 2015b
     Beitrag Verfasst am: 02.01.2013, 09:05     Titel:
  Antworten mit Zitat      
Moin Harald,

das war's schon? Ich bin begeistert Wink Das macht glaube ich einiges einfacher und erspart mir, wie ich es gerade verstanden habe, die Schleifenabfrage.

Hatte da ähnlich lange wie bei dem anderen Problem drüber nachgedacht... Hast du dir den Beispielcode mal angesehen? Habe ihn recht ausführlich kommentiert. An wecher Stelle muss die Codezeile kommen? Und was genau bedeutet das 'A'? Könntest du mir da vielleicht ein kleines Beispiel geben?

[edit]
Harald, danke nochmal! Ich habs eben eingebaut. 'A' musste ich für mein Beispiel in 'Testwerte' umbenennen und habe mir dadurch ein paar Schleifen und if-Abfragen erspart.
Falls den Code jemand benötigt - ich habe ihn eben mit hochgeladen.
[edit]


Besten Dank für alles!

Jonas

BoxPlot_goMatlab_V2.m
 Beschreibung:
Finale Version mit Codezeile von Harald

Download
 Dateiname:  BoxPlot_goMatlab_V2.m
 Dateigröße:  1.71 KB
 Heruntergeladen:  381 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

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.