Daten aus MATLAB .Abb-Datei mit Python?
Kennt jemand irgendwelche Methoden der Extraktion der Daten aus einer MATLAB-fig-Datei mit Python? Ich weiß, das sind binäre Dateien, aber die Methoden, die in der Python-Kochbuch für .mat-Dateien http://www.scipy.org/Cookbook/Reading_mat_files scheinen nicht zu arbeiten .Abb-Dateien...
Vielen Dank im Voraus für jede Hilfe,
Dan
Du musst angemeldet sein, um einen Kommentar abzugeben.
.fig-Dateien sind .mat-Dateien (mit einer struct), siehe
http://undocumentedmatlab.com/blog/fig-files-format/
Als die Referenz, die Sie geben, Staaten, Strukturen werden nur unterstützt, bis zu v7.1:
http://www.scipy.org/Cookbook/Reading_mat_files
So, in MATLAB, die ich speichern mit -v7:
Dann in Python 2.6.4, die ich benutze:
Wo ich
.__dict__
zu sehen, wie zum Durchlaufen der Struktur. E. g. umXData
undYData
ich verwenden kann:Zeigen, dass würde ich
plot([1 2],[3 4])
in MATLAB (das Kind ist die Achse, und der Enkel ist die lineseries).Fand ich Alex ' s Antwort sehr Ansprechend, aber ich erweiterte seinen code ein wenig. Zuerst von allen, habe ich die Präambel zu zeigen, wo die Figur, ylabel, etc. kommt aus. Sekunde alle, ich eingeschlossen, die Legende!
Ich bin ziemlich neu in Python, also irgendwelche Vorschläge für Verbesserungen sind sehr willkommen.
Hier ist mein update von Sascha ' s post. Jetzt kann es:
Den code ist unten:
plt.hold
Aufrufe müssen entfernt werden. Auch, in meinem Fall habe ich zum ändern derMAT_locs
Einträge auf Kleinschreibung.Wenn Sie sparen Sie eine MATLAB-Figur, es sichert die Grafiken Verarbeiten-Hierarchie in eine Struktur, speichert es ein .mat-Datei, und ändert die Erweiterung zu .Abb. So .fig-Dateien sind nur .mat-Dateien, und wenn Sie den Daten, die Sie suchen, war irgendwo gespeichert in der ursprünglichen Abbildung, die es in dort. Wenn Sie manuell ändern Sie die Erweiterung wieder auf .mat können Sie laden Sie Sie in MATLAB ein und schauen Sie.
Ich fürchte, ich weiß nicht viel über das Lesen .mat-Dateien von Python, aber, wenn Sie eine Möglichkeit haben, das zu tun, im Allgemeinen, Sie sollten auch in der Lage sein zu Lesen .Abb-Datei.
Ist das viel einfacher Weg zur Verfügung. Es basiert auf der neueren Scipy und loadmat:
http://answerpot.com/showthread.php?3707193-loadmat+und+Abbildung
Und meine kleine Erweiterung, um es für den einfachen 2D-Linien:
figure
bedeuten?Über die Beiträge von Sascha, ich wollte nur extrahieren Sie die x-Daten und y-Daten gespeichert .fig-Datei.
Unten ist mein python-Funktion, die eine Vereinfachung der Sascha die Funktion anstrebt, nur das extrahieren der Daten.
Ergebnis ist ein Wörterbuch. Seine Tasten sind die entsprechenden Bezeichnungen der Daten in der Abbildung.
Ich es dort. Froh, wenn dies könnte sparen Sie ein paar Minuten, um jemand anderes !