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

Scatterplot mit Beschriftung statt Histogramm

 

rowJoe
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 57
Anmeldedatum: 25.11.12
Wohnort: ---
Version: 2015b
     Beitrag Verfasst am: 24.09.2013, 11:57     Titel: Scatterplot mit Beschriftung statt Histogramm
  Antworten mit Zitat      
Moin zusammen,

mit der Funktion plotmatrix ist es möglich so genannte Streudiagramm-Matrizen zu erstellen.

Wenn ich eine Variable an die Funktion übergebe erhalte ich die Darstellung wie auf der Hilfe-Seite beschrieben - soweit so gut.

Nun zur Frage:
Statt der Histogramme möchte ich gerne den Namen der Variablen ausgeben und in das Feld schreiben (ähnlich wie bei Fahrmeier et. al. "Statistik - der Weg zur Datenanalyse", S.135). Könnt ihr mir weiterhelfen?

Für alle jene die das Buch nicht kennen/haben: In den Kästen, in welchen durch die Funktion die Histogramme gezeigt werden, steht der Name der Variablen.

[Update]
Ein kurzes Update mit Code-Beispiel und einer weiteren Frage (Teil 2): Wie kann ich es erreichen, dass alle Stufen - werden per Schleifendurchlauf in die Figure hinzugefügt - farblich unterschieden werden können? Ich hatte versucht dem Handle H eine Laufvariable hinzuzufügen - leider ohne Erfolg. Hat jemand eine Lösung?

Code:

% Für jeden Schnitt wird eine Matrix erstellt mit allen Stufen
for CountSchnitt = 1:size(TWK1_Profildaten,3)
    for CountStufe = 1:size(TWK1_Profildaten,5)
        for CountMerkmal = 1:size(TWK1_Profildaten,4)
            for CountMessdaten = 1:size(TWK1_Profildaten,1)
               
                % Nur Messwerte werden betrachtet, die ungleich Null sind
                Messwert = TWK1_Profildaten(CountMessdaten,1,CountSchnitt,CountMerkmal,CountStufe);
               
                if Messwert == 0
                    break
                end
                plotData(CountMessdaten,CountMerkmal) = Messwert;
               
            end
        end
       
        % Scatter-Matrix plotten, jede Stufe in anderer Farbe. Farbe ist in Variable "colorstyle" definiert.
        [H(CountStufe),AX,BigAx,P,PAx] = plotmatrix(plotData);
        set(H(4,5),'Color',colorstyle(CountStufe,:),'Marker','*');
        hold on
    end
end
 

[/Update]

Ich danke euch in jedem Fall für eure Hilfe.


Viele Grüße

Jonas

Zuletzt bearbeitet von rowJoe am 24.09.2013, 13:34, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 24.09.2013, 13:33     Titel: Re: Scatterplot mit Beschriftung statt Histogramm
  Antworten mit Zitat      
Hallo rowJoe,

Kannst Du ein Minimal-Beispiel posten und vielleicht ein Bild, bei dem Du den Text von Hand eingefügt hast?

Gruß, Jan
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: 24.09.2013, 14:09     Titel:
  Antworten mit Zitat      
Hallo Jan,

ich habe eben mal ein kleines Minimalbeispiel gebastelt - in dem Beispiel oben habt ihr natürlich keine Daten. Sorry dafür!

Hier das Minimalbeispiel:
Code:
%% Minimalbeispiel zur Problemstellung
% Quelle: http://www.mathworks.de/de/help/matlab/ref/plotmatrix.html


%% Generierung von Pseudo-Daten
%  30 gemessene Bauteile
%   3 Prüfparameter
%   7 verschiedene Chargen (Stufen)
rng(0,'twister');
X = randn(30,3,7);


%% Definition der Farbgebung für die Chargen (Stufen)
colorstyle =   [1 1 0;  %gelb
                1 0 1;  %magenta
                0 1 1;  %cyan
                1 0 0;  %rot
                0 1 0;  %grün
                0 0 1;  %blau
                0 0 0]; %schwarz

           
%% Erstellen der Streumatrizen
for CountStufe = 1:size(X,3)
   
    [H,AX,BigAx,P,PAx] = plotmatrix(X(:,:,CountStufe));
    set(H(2,1),'Color',colorstyle(CountStufe,:),'Marker','*');
    hold on;

end


In dem Beispiel sieht man ganz gut, dass die jeweils letzte Farbdefinition übernommen wird (hier schwarz). Es sollten jedoch für jede Stufe in jedem Scatter-Plot einheitliche Farben genutzt werden.

Beispiel: Charge (Stufe) 1 kennzeichnet alle Datenpunkte gelb, Charge 2 magenta usw.


Besten Dank bereits jetzt,

Jonas

Beispiel.jpg
 Beschreibung:
Überarbeitete Grafik des Minimalbeispiels mit Beschriftung

Download
 Dateiname:  Beispiel.jpg
 Dateigröße:  25.25 KB
 Heruntergeladen:  607 mal
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.10.2013, 13:19     Titel:
  Antworten mit Zitat      
Moin Leute,

das Problem hat sich mittlerweile gelöst - vielen Dank für eure Hilfe!

Falls jemand das gleiche Problem hat: Wird einen Blick auf die Funktion gplotMatrix... Sie ist genau das, was du suchst!

Ein kleines Minimalbeispiel:
Code:
% Laden und Aufbereiten der Testdaten
load carbig
Messdaten = [MPG,Acceleration,Displacement,Weight,Horsepower];

% Beschriftung der Merkmale
varNamen = {'Verbrauch'; 'Beschleunigung'; 'Reichweite'; 'Gewicht'; 'Leistung'};


gplotmatrix(Messdaten,[],Cylinders,['c' 'b' 'm' 'g' 'r'],[],[],false,'variable',varNamen);
 




Gruß

Jonas
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.