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

Plot speichern - gleichzeitig als png und als fig?

 

Andy386
Forum-Guru

Forum-Guru


Beiträge: 485
Anmeldedatum: 24.06.09
Wohnort: ---
Version: 7.1/8
     Beitrag Verfasst am: 09.01.2010, 04:43     Titel: Plot speichern - gleichzeitig als png und als fig?
  Antworten mit Zitat      
Hallo,

ich würde gerne sowas wie ein macro bauen, was mir ein bild sowohl als fig, wie auch als png speichert.
Leider hab ich keinen richtigen Plan von save in Kombination mit nem figure... kennt da jemand schon ne Lösung?

Oder gleich alle speichern, die offen sind, und den Titel als Dateinamen wählen... *träum*
Private Nachricht senden Benutzer-Profile anzeigen


Andy386
Themenstarter

Forum-Guru

Forum-Guru


Beiträge: 485
Anmeldedatum: 24.06.09
Wohnort: ---
Version: 7.1/8
     Beitrag Verfasst am: 09.01.2010, 05:33     Titel:
  Antworten mit Zitat      
was auch hübsch wäre: alle fig's eines Verzeichnisses zu Dateien meiner Wahl zu machen
Private Nachricht senden Benutzer-Profile anzeigen
 
Jorsch

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.01.2010, 16:35     Titel:
  Antworten mit Zitat      
Hi, bei mathworks hab ich das Programm export_fig gefunden, das solltest du dir runterladen, damit kannst du deine figs in viele Formate exportieren.

http://www.mathworks.com/matlabcentral/fileexchange/23629

Ich würde das pdf-Format wählen, ist dann eine verlustfreie Vektorgrafik.

Ich hab mir noch ein kleines Skript geschrieben, welches mir die Bilder automatisch in ein gewünschtes Verzeichnis (in meinem Fall eben Bilderverzeichnis meiner Dokumentation) verschiebt und umbenennt. Ebenfalls wird der graue Hintergrundrahmen entfernt.

Könnte dann so oder so ähnlich aussehen:

Code:

function [] = bild(Name);

set(gcf, 'Color', [1 1 1])

export_fig PFAD \export_fig\Bild -pdf

npfad = ['PFADBILDERDOKU\' Name '.pdf'];

movefile('PFAD\Bild.pdf',npfad)

 


Bei einer offenen figure musst du nur bild('gewünschter Name') schreiben und schon hast du es im gewünschten Ordner als Vektorgrafik abgespeichert.

Ein ganzer Ordner ist dann auch möglich, musst du eben mit Schleifen/Abfragen arbeiten. Und Titel als Dateinamen ist auch problemlos möglich.
 
Andy386
Themenstarter

Forum-Guru

Forum-Guru


Beiträge: 485
Anmeldedatum: 24.06.09
Wohnort: ---
Version: 7.1/8
     Beitrag Verfasst am: 09.01.2010, 17:58     Titel:
  Antworten mit Zitat      
Geil... Danke !

der croppt auch gleich die Ränder weg... Razz


Für was steht das PFAD in deinem Script?


So, ich hab nur noch ein eventuelles Problemchen mit dem Rausbekommen des "plots" aus den Kindern von gcf.

Das hier ist mein save_all_open_pics:
Code:
for i=1:100
    if ishandle(i)
        set(i, 'Color', [1 1 1])
        CC=get(i,'Children');
        Titel=get(CC(end),'Title');
        YLabl=get(CC(end),'YLabel');        
       
        dateiname=strcat(get(Titel,'String'), '___',get(YLabl,'String'));
        export_fig('png',dateiname,i);
        %export_fig unterstützt keine fig's... habs dann doch noch gefunden:
        saveas(i,dateiname,'fig')
    end
end


sollte in cd speichern



Gibt es auch einen Weg, z.B. mit UIopen alle fig's eines Verzeichnisses zu öffnen?
Private Nachricht senden Benutzer-Profile anzeigen
 
Andy386
Themenstarter

Forum-Guru

Forum-Guru


Beiträge: 485
Anmeldedatum: 24.06.09
Wohnort: ---
Version: 7.1/8
     Beitrag Verfasst am: 11.01.2010, 06:25     Titel:
  Antworten mit Zitat      
hmm... ich dachte zu erst, naja, okay, das script verwischt etwas die png's, aber naja (ich will die in OpenOffice einsetzen...) - jetzt seh ich, dass man unmöglich png's aus Matlab mit denen zusammen verwenden kann. Auch USM hat nix gebracht...
Private Nachricht senden Benutzer-Profile anzeigen
 
Jorsch

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.01.2010, 23:44     Titel:
  Antworten mit Zitat      
Andy386 hat Folgendes geschrieben:
hmm... ich dachte zu erst, naja, okay, das script verwischt etwas die png's, aber naja (ich will die in OpenOffice einsetzen...)


Welches Skript, und was bedeutet "verwischen"?

Andy386 hat Folgendes geschrieben:

jetzt seh ich, dass man unmöglich png's aus Matlab mit denen zusammen verwenden kann. Auch USM hat nix gebracht...


Wer ist "denen", was ist "USM" und warum kann man pngs mit "denen" unmöglich verwenden.

Du solltest dich bisschen klarer ausdrücken, dann kann dir auch geholfen werden.
 
Andy386
Themenstarter

Forum-Guru

Forum-Guru


Beiträge: 485
Anmeldedatum: 24.06.09
Wohnort: ---
Version: 7.1/8
     Beitrag Verfasst am: 14.01.2010, 17:05     Titel:
  Antworten mit Zitat      
Mit script meinte ich die Funktion aus dem FileExchange, sorry für die blöde wortwahl.
mit verwischen meine ich nen Blur drüberlegen, oder eine Gaußsche Unschärfe erzeugen usw.

Speicher ich das png via dem Matlab->Datei->Speichern oder so ist das Bild schard, beim script ist es unscharf. vielleicht durchs croppen... zumindest ist die Unschärfe ca. 2 pixel breit.

USM ist so doofer Fotofachjargon für UnScharfMaskieren (nützlich, wenn man Bilder verkleinert).
Private Nachricht senden Benutzer-Profile anzeigen
 
derOli
Forum-Meister

Forum-Meister


Beiträge: 579
Anmeldedatum: 19.03.08
Wohnort: Leipzig
Version: 2010a
     Beitrag Verfasst am: 14.01.2010, 17:19     Titel:
  Antworten mit Zitat      
Hi,

müsste so gehen:


Code:


File = 'Filename';
saveas(1,strcat(File,'_plot'),'fig');
print(1,'-dpng','-r300',strcat(File,'_plot'));

 


1 ist Figure eins, damit ist deine "Träumerei" vom ersten Post ziemlich einfach zu realisieren.

Viele Grüße,

der Oli
Private Nachricht senden Benutzer-Profile anzeigen
 
Andy386
Themenstarter

Forum-Guru

Forum-Guru


Beiträge: 485
Anmeldedatum: 24.06.09
Wohnort: ---
Version: 7.1/8
     Beitrag Verfasst am: 15.01.2010, 16:24     Titel:
  Antworten mit Zitat      
Danke, Oli, für den png-Speicherweg.

Mit dem Script von mir weiter oben (http://www.gomatlab.de/plot-speiche.....als-fig-t10036.html#36078) hat es auch schon geklappt. Ich habe da für "unverwaschene" png's einfach fig in png umgeändert, ging auch...

Die einzige noch offene Frage: "Gibt es auch einen Weg, z.B. mit UIopen alle fig's eines Verzeichnisses zu öffnen?"
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 - 2025 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.