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

Subplots näher aneinander und Subplots kombinieren

 

dollor

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.09.2009, 12:30     Titel: Subplots näher aneinander und Subplots kombinieren
  Antworten mit Zitat      
ich habe ein Problem, meine Daten übersichtlich darzustellen

Ich nutze für eine Auswertung viele Subplots, um einen Vergleich unterschiedlicher Verfahren anzustellen.

Anbei findest ihr ein solches Auswertungsblatt als pdf.

Wie ihr seht, ist das Format eine große Platzverschwendung, folgende Änderungen wollte ich vornehmen, konnte aber die Befehle nicht finden:

das xlabel sollte rechts außen an der Achse und etwas näher dran stehen, ylabel entpsrechend oben und gedreht

der vertikale Platz zwischen den beiden Plots der ersten Reihe soll deutlich kleiner werden, der horizontale Platz zwischen Reihen 1,2 und 3 ebenso

Die letzten drei plot würde ich gerne direkt aneinander kleben, also praktisch kein Raum dazwischen, zwar 3 x-Achsen aber nur die unterste beschriftet und dann Hilfslinien über die komplette Höhe der drei Plots

Hat vielleicht jemand für eins der Probleme eine Idee?

testrun1_t_pred_20_ds.pdf
 Beschreibung:

Download
 Dateiname:  testrun1_t_pred_20_ds.pdf
 Dateigröße:  116.6 KB
 Heruntergeladen:  612 mal


Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 24.09.2009, 12:51     Titel:
  Antworten mit Zitat      
Näher an einander geht recht einfach. Unter Abwandlung der SUBPLOT Hilfe:

Code:

income = [3.2 4.1 5.0 5.6];
outgo = [2.5 4.0 3.35 4.9];
subplot(2,1,1); plot(income)
title('Income')
subplot(2,1,2); plot(outgo)
title('Outgo')
p2=get(gca,'Position')
set(gca,'Position',[p2(1) p2(2) p2(3) p2(4)*1.25])
 


Labels kann man in den Plot Tools manuell verschieben - also wird auch das mit SET programmatisch möglich sein.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
dollor

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.09.2009, 13:46     Titel:
  Antworten mit Zitat      
vielen Dank

das hatte ich bereits versucht, allerdings habe ich das Problem, dass sich wenn ich beispielsweise in der ersten Reihe beide Graphen näher aneinander rücken möchte, der zweite Graph automatisch höher wird, sprich er hat zwar die richtige Position, ist aber ein ganzes stück höher als der linke graph, steht also nach unten über - mein code ist folgender:

Code:

subplot(5,2,1)
        hold on
        %axes('FontName','Times New Roman');
        for i = 1:length(models)
            plot(Results.time(:,clms(j)),abs(Results.(char(models(i))).pred.xR(:,clms(j))),'Color',colors(i,:));
            min_values_x(i) = min(min(abs(Results.(char(models(i))).pred.xR(:,clms(j)))));
            max_values_x(i) = max(max(abs(Results.(char(models(i))).pred.xR(:,clms(j)))));
        end
        set(gca,'FontName','Times New Roman');
        axis([min(Results.time(:,clms(j)))-0.2 max(Results.time(:,clms(j)))+0.2 min(min_values_x)-max(max_values_x)*0.1 max(max_values_x)*1.1]);
        xlabel('t', 'FontName','Times New Roman');
        ylabel('x_R', 'FontName','Times New Roman');
        plot(Results.time(:,clms(j)),Results.Reference.xR(:,clms(j)),'b');
        pos_ak = get(gca,'Position')
       
        subplot(5,2,2)
        hold on
        for i = 1:length(models)
            plot(Results.time(:,clms(j)),abs(Results.(char(models(i))).pred.yR(:,clms(j))),'Color',colors(i,:));
            min_values_y(i) = min(min(abs(Results.(char(models(i))).pred.yR(:,clms(j)))));
            max_values_y(i) = max(max(abs(Results.(char(models(i))).pred.yR(:,clms(j)))));
        end
        plot(Results.time(:,clms(j)),Results.Reference.yR(:,clms(j)),'b');
        set(gca,'FontName','Times New Roman');
        axis([min(Results.time(:,clms(j)))-0.2 max(Results.time(:,clms(j)))+0.2 min(min_values_y)-max(max_values_y)*0.1 max(max_values_y)*1.1]);
        set(gca,'Position', [pos_ak(1)+pos_ak(3)*1.1 pos_ak(2) pos_ak(3) pos_ak(4)])
        xlabel('t', 'FontName','Times New Roman');
        ylabel('y_R', 'FontName','Times New Roman');
 
 
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 - 2024 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.