Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   
Bücher:

Studierende:
Praktikant Toolentwicklung Matlab (m/w)
Branche: Beratung, Expertise, Fahrzeugtechnik, Fahrzeugteile, Technische Dienstleistungen
MBtech Group GmbH & Co. KGaA - Fellbach

Abschlussarbeit / Praktikum: Entwicklung Matlab (m/w)
Branche: Informationstechnologie, Elektrotechnik, Elektronik
GIGATRONIK Technologies GmbH - Ulm

Studentischer Mitarbeiter (m/w) - DevOps / Toolentwicklung
Branche: mehrere
IAV GmbH - Ingenieurgesellschaft Auto und Verkehr - Berlin

Praktikant (m/w) Bereich Konzernvorausentwicklung - Aktoren sicherheitsrelevanter Anwendungen
Branche: Fahrzeugtechnik, Fahrzeugteile, Maschinentechnik, Industrietechnik
MAHLE International GmbH - Stuttgart

Praktikum - Softwareentwicklung Java
Branche: mehrere
IAV GmbH - Ingenieurgesellschaft Auto und Verkehr - Dresden, Gifhorn

weitere Angebote

Partner:


Vermarktungspartner


Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Achsen in geplotteten Daten (.fig-Datei) tauschen

 

igordashaar
Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 06.02.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.09.2017, 08:48     Titel: Achsen in geplotteten Daten (.fig-Datei) tauschen
  Antworten mit Zitat      
Hallo zusammen,

habe hier einige bereits geplottete Daten, wobei allerdings die x- und y-Achse für meine Zwecke getauscht werden sollten. Gibts es hierzu eine Möglichkeit ohne an die Rohdaten zu müssen (die liegen in verschiedenen Excel-Dateien, die ich nur sehr ungern durchwühlen würde). Aktuell helfe ich mir mit dem Rotieren um 90° und invertieren der y-Achse. Allerdings könnte das später zu Problemen mit TikZ führen, außerdem ist dann die Achsenbeschriftung auf der falschen Seite.

Gibt es eine elegantere Lösung?

Vielleicht die Rohdaten aus den Graphen extrahieren und neu plotten? Oder gibt es vielleicht auch eine GUI-Lösung die ich übersehen habe?

Liebe Grüße und schon mal vielen Dank!

Matlab Version: R2015b
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 17.537
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2014a
     Beitrag Verfasst am: 21.09.2017, 08:54     Titel:
  Antworten mit Zitat      
Hallo,

hast du nur die fertigen Figures verfügbar oder auch den Code, mit dem sie erzeugt werden?

Das einfachste wäre, beim Erzeugen der Plots die Argumente zu tauschen.

Du kannst aber auch im Nachhinein die Eigenschaften XData und YData von Plots auslesen und überschreiben.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
igordashaar
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 06.02.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.09.2017, 12:59     Titel:
  Antworten mit Zitat      
Hallo,

leider habe ich nur die Figures zur Verfügung.
Wo finde ich denn die XData und YData Werte. In gcf und gca bin ich nicht fündig geworden.

Angemerkt sei vielleicht auch, dass in jeder Figure mehrere Plots sind von einzelnen Messungen.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 17.537
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2014a
     Beitrag Verfasst am: 21.09.2017, 13:39     Titel:
  Antworten mit Zitat      
Hallo,

plots sind die Children von gca. Also z.B.
Code:
ax = gca;
p = ax.Children;


Das enthält dann Handles zu den einzelnen Plots.
Wenn du auch noch mehrere Koordinatensysteme hast, wird's mühsam ;)

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
igordashaar
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 06.02.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.09.2017, 09:23     Titel:
  Antworten mit Zitat      
Hallo,

besten Dank!! Das sieht doch gut aus. Hier der Code mit dem es nun letztlich geklappt hat.

Code:
%Changes X and Y Axis of already plotted data.

%% for testing only
x=linspace(0,2*pi);
y=sin(x);
plot(x,y)
xlabel('X-Axis');
ylabel('Y-Axis');
pause;

%% Exchange axis label and data
ax = gca;
axc = ax.Children;

temp = ax.XLabel.String;
ax.XLabel.String = ax.YLabel.String;
ax.YLabel.String = temp;
clear temp;

for idx=1:length(axc)
   temp = axc(idx).XData;
   axc(idx).XData = axc(idx).YData;
   axc(idx).YData = temp;
   clear temp;
end
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
.


goMatlab ist ein Teil des goForen-Labels
goForen.de goMATLAB.de goLaTeX.de goPCB.de


 Impressum  | Nutzungsbedingungen  | Datenschutz  | Werbung/Mediadaten | Studentenversion | FAQ | goMatlab RSS Button RSS


Copyright © 2007 - 2017 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
Partner: LabVIEWforum.de

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.