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

Plot2 überschreibt Plot1

 

FelixW
Forum-Anfänger

Forum-Anfänger


Beiträge: 33
Anmeldedatum: 19.08.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.10.2021, 11:14     Titel: Plot2 überschreibt Plot1
  Antworten mit Zitat      
Hallo,

ich habe folgenden Code, es sollen 2 Plots ausgeben werden.
Führe ich den Code so aus, wird immer nur der zweite Plot dargestellt. Kommentiere ich die zweite Schleife aus, wird der erste Plot abgebildet.
Leider habe ich gerade keine Zeit eine Version meiner mlx zu erstellen, welche ich hier veröffentlichen könnte. Hoffe das mir auch nur mit dem Ausschnitt aus dem Code, jemand helfen kann.

Viele Grüße

Felix
Code:
   Names_Temp1 = Daten.Speicher_Temp1.Properties.VariableNames;
    Names_Temp2 = Daten.Speicher_Temp2.Properties.VariableNames;
   
    for j=1:length(Grenzen.Start.Speicher_Klappenstellung.(actual_var))
       
        for k=1:width(Daten.Speicher_Temp1)
            plot(Daten.Speicher_Temp1.Uhrzeit, Daten.Speicher_Temp1.(Names_Temp1{k}))
            hold on
        end

    legend((Names_Temp1{1:14}))
    xlim([Start.(actual_var)(j) Ende.(actual_var)(j)])
    title((actual_var)+" "+"NR."+(j)+" "+"Speicher Temp1")

    end
   
     for j=1:length(Grenzen.Start.Speicher_Klappenstellung.(actual_var))
   
        for k=1:width(Daten.Speicher_Temp2)
            plot(Daten.Speicher_Temp2.Uhrzeit, Daten.Speicher_Temp2.(Names_Temp2{k}))  
        end
       
    legend((Names_Temp2{1:15}))
    xlim([Start.(actual_var)(j) Ende.(actual_var)(j)])
    title((actual_var)+" "+"NR."+(j)+" "+"Speicher Temp2")
    end
Private Nachricht senden Benutzer-Profile anzeigen


aemon
Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 26.10.17
Wohnort: Niedersachsen
Version: R2019a / R2021a
     Beitrag Verfasst am: 15.10.2021, 11:20     Titel:
  Antworten mit Zitat      
Wenn zwei plots dargestellt werden sollen, bietet es sich an diese auch in zwei subplots oder figures darzustellen.

In diesem Fall geschieht das soweit ich es sehe in einem. Durch das Setzen der Xlim (also des sichtbaren Auschnitts) wird evtl. auf den einen Bereich fokusiert und somit ist der andere nicht sichtbar.
Private Nachricht senden Benutzer-Profile anzeigen
 
FelixW
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 33
Anmeldedatum: 19.08.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.10.2021, 11:38     Titel:
  Antworten mit Zitat      
Habe jetzt mal eine Anpassung vorgenommen, im Ergebnis wird jetzt der erste Plot korrekt dargestellt. Der zweite erscheint nun auch, aber nur die erste von den 15 Stück, die dargestellt werden müssen.

Code:
   Names_Temp1 = Daten.Speicher_Temp1.Properties.VariableNames;
    Names_Temp2 = Daten.Speicher_Temp2.Properties.VariableNames;
   
    subplot(2,1,1);
    for j=1:length(Grenzen.Start.Speicher_Klappenstellung.(actual_var))
       
        for k=1:width(Daten.Speicher_Temp1)
            plot(Daten.Speicher_Temp1.Uhrzeit, Daten.Speicher_Temp1.(Names_Temp1{k}))
        end

    legend((Names_Temp1{1:14}))
    xlim([Start.(actual_var)(j) Ende.(actual_var)(j)])
    title((actual_var)+" "+"NR."+(j)+" "+"Speicher Temp1")

    end
   
    subplot(2,1,2);
    for j=1:length(Grenzen.Start.Speicher_Klappenstellung.(actual_var))
   
        for k=1:width(Daten.Speicher_Temp2)
            plot(Daten.Speicher_Temp2.Uhrzeit, Daten.Speicher_Temp2.(Names_Temp2{k}))  
        end
       
    legend((Names_Temp2{1:15}))
    xlim([Start.(actual_var)(j) Ende.(actual_var)(j)])
    title((actual_var)+" "+"NR."+(j)+" "+"Speicher Temp2")
    end


Den Plot habe ich als Bild angehängt

Plot_Test.jpg
 Beschreibung:

Download
 Dateiname:  Plot_Test.jpg
 Dateigröße:  45.74 KB
 Heruntergeladen:  177 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
FelixW
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 33
Anmeldedatum: 19.08.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.10.2021, 11:44     Titel:
  Antworten mit Zitat      
Jetzt habe ich unter dem zweiten Plot Befehle ein
"hold on" ergänzt und jetzt funktioniert es. Jetzt würde ich gerne verstehen, warum das so ist? Beim ersten Plot-Befehl ist ja auch kein "hold on" notwendig, um alle Datenreihen abzubilden.
Private Nachricht senden Benutzer-Profile anzeigen
 
aemon
Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 26.10.17
Wohnort: Niedersachsen
Version: R2019a / R2021a
     Beitrag Verfasst am: 15.10.2021, 13:25     Titel:
  Antworten mit Zitat      
Ohne hold on wird überschrieben. Im oberen Post war allerdings auch ein hold on im ersten Teil vorhanden.
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 - 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.