Verfasst am: 18.05.2023, 22:15
Titel: Plots mit mehreren y-Achsen untereinander darstellen
Hallo zusammen,
ich versuche aktuell zwei Plots untereinander darzustellen. Da ich aber im oberen Plot mehrere y-Achsen habe, funktioniert subplot etc. nicht.
Der obere Plot setzt sich dabei aus mehreren Plots zusammen, um alle 3 y-Achsen zu ermöglichen. Gibt es hier einen Weg diese zusammen zu führen um einen weiteren Plot darunter per subplot oder anderer Funktion einzubauen?
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Harald hatte wahrscheinlich schon eine elegantere Lösung, nur blieb diese für mich unsichtbar. Hier mein Vorschlag - im Wesentlichen scheint es notwendig zu sein, die Tiles am Anfang zu initiieren. Denn die zusätzliche Data3-Axes funkt sonst dazwischen und dann scheint
nexttile
nicht mehr zu funktionieren. Ansonsten darauf achten, dass die verschiedenen Bereiche/Axes richtig angesprochen werden, damit Matlab auch immer weiß, was du möchtest. Außerdem wird dann hold on/off (das 'off' fehlte?) nicht benötigt und die Umstellung der TickModes auf 'manual' scheint auch irgendwie nicht praktikabel gewesen zu sein.
sorry, das war zur Abwechslung mal wieder ein Formatierungsproblem. Die Nachricht wird dann nur sichtbar, wenn man auf "Zitat" klickt.
Aber schön, dass das Problem dank steve gelöst ist. :)
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Wenn ich jetzt allerdings noch eine Legende am Ende hinzufügen möchte, erscheint ein Error im Command Window: "Error using legend. Invalid Argument" nach folgendem Code:
Nach ein bisschen ausprobieren habe ich herausgefunden, dass dieser Error nur dann erscheint, wenn man dem Plot ein Achsensystem zuweist - nimmt man diese Zuweisung weg, funktioniert zwar die Legende, aber die Graphen werden wieder im falschen Plot angezeigt. -> Auch hold on/off hilft hier nicht.
Gibt es hier etwas, das man für die Legende beachten muss, wenn man die Plots einem Achsensystem zugeordnet hat?
Genauer gesagt tritt das Problem immer dann auf, wenn man versucht mehrere Plots der rechten Y-Achse zuzuordnen. Auch mit hold on funktioniert folgendes bei mir leider nicht:
Code:
hold on;
ph1 = plot(mainAxis, time, data1);
ph2 = plot(mainAxis, time, data1);
ph3 = plot(mainAxis, time, data1);
hold off;
ein Problem hier: auch Befehle wie hold beziehen sich immer auf ein bestimmtes Koordinatensystem. Wenn du mehrere hast, dann auf das "zuletzt aktive". Meine Empfehlung daher:
Sollte das nicht weiterhelfen, bitte den kompletten momentan verwendeten Beispielcode posten.
Ich gehe im übrigen davon aus, dass du bei ph1 bis ph3 in deiner Anwendung unterschiedliche Daten verwendest. Ansonsten ist es kein Wunder, dass du nur einen Plot siehst. ;)
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Einstellungen und Berechtigungen
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
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.