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

Legende eines Subplots unter die Gesamtgrafik setzen

 

rowJoe
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 57
Anmeldedatum: 25.11.12
Wohnort: ---
Version: 2015b
     Beitrag Verfasst am: 02.10.2013, 13:47     Titel: Legende eines Subplots unter die Gesamtgrafik setzen
  Antworten mit Zitat      
Hallo zusammen,

ich habe mit gplotMatrix meine Messdaten verarbeitet und möchte mir eine Legende anzeigen lassen - praktisch, dass die Funktion diese Option mitliefert!

Leider scheint es so, dass es mir nicht wirklich hilft... Die Legende ist standardmäßig in der oberen rechten Ecke der Grafik in der oberen Reihe ganz rechts angeordnet. Da meine Daten jedoch dort liegen, möchte ich die Legende entweder rechts neben der Gesamtgrafik oder unter der Gesamtgrafik haben - verständlicherweise jedoch nicht auf den Messdaten!

Wie kann ich das Problem lösen?


Hier ein lauffähiges Beispiel:
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'],[],[],'on','variable',varNamen);

lh = findall(gcf,'tag','legend');       % Handle der Legende auslesen
set(lh,'location','southoutside');       % und positionieren



Ich habe mir nun den Handle der Legende mit "findall" ausgeben lassen und versuche in der nächsten Zeile die Grafik unter die Gesamtgrafik zu schieben. Bisher jedoch mit mäßigem Erfolg...

Für Ideen und Vorschläge bin ich dankbar!


Besten Dank,

Jonas
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 03.10.2013, 21:47     Titel:
  Antworten mit Zitat      
Hallo,

man müsste wohl die Koordinatensysteme verschrieben, um Platz zu schaffen - z.B. so:

Code:
sp = findall(gcf,'type','axes');  
for I=1:numel(sp)
    set(sp(I), 'position', get(sp(I), 'position').*[0.9 1 0.9 1])
end
lh = findall(gcf,'tag','legend');       % Handle der Legende auslesen
set(lh,'location','eastoutside');  


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: 04.10.2013, 10:52     Titel:
  Antworten mit Zitat      
Moin Harald,

danke für die Idee! Ich habe sie eben mal ausprobiert - leider führt sie nicht so ganz zum gewünschten Ergebnis, da das gesamte Diagramm auseinander gerissen wird. Das Ergebnis im Anhang habe ich mit folgendem Code erstellt:


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'],[],[],'on','variable',varNamen);


sp = findall(gcf,'type','axes');  
for I=1:numel(sp)
    set(sp(I), 'position', get(sp(I), 'position').*[1.5 1.5 0.9 1])
end
lh = findall(gcf,'tag','legend');       % Handle der Legende auslesen
set(lh,'location','southoutside');  
 


Beispiel2.jpg
 Beschreibung:

Download
 Dateiname:  Beispiel2.jpg
 Dateigröße:  32.47 KB
 Heruntergeladen:  524 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 04.10.2013, 11:54     Titel:
  Antworten mit Zitat      
Hallo,
Zitat:

leider führt sie nicht so ganz zum gewünschten Ergebnis, da das gesamte Diagramm auseinander gerissen wird.

Ist bei den von dir angegebenen Parametern ja kein Wunder.
Wo liegt das Problem, wenn du die Parameter wie von mir angegeben verwendest?

Grüße,
Harald
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.