Verfasst am: 10.02.2013, 18:18
Titel: Plot als EPS exportieren
Hallo Leute,
möchte einen plot als .eps exportieren. Ich benutze Matlab 2012b auf Ubuntu.
Wenn ich einen plot mache, und z.B. die Schriftart des Titels groß und fett einstelle (im skript) dann übernimmt er das im Plot nicht.
Wenn ich das dann aber exportiere mit dem Befehl:
übernimmt er meine Änderungen und es sieht gut aus.
Also es geht um die Labels und Title, diese werden nicht in der eingestellten Schriftgröße und Typ ('FontWeight','bold') gespeichert.
In einem Skript funktioniert das problemlos. In einem anderen funktioniert es wiederum nicht ?
Muss ich auf was besonderes achten wenn ich als eps exportiere ?
Habt ihr eine Idee ?
Anbei nochmal der Code bei dem das EPS genauso schlecht aussieht wie das figure.Also die vorher eingestellten Änderungen nicht übernimmt:
Code:
figH =figure;
hold on
pcolor(vector_snapshots,-180:resolution:180,aps_dB);
colormaphot shading interp
axis([min(vector_snapshots)max(vector_snapshots)-180180])
%caxis([-140-60]);
ifstrcmpi(mode,'rx') ylabel('Azimuth-Eintrittswinkel in Grad','fontweight','bold');
else ylabel('Azimuth AOD in Grad');
end xlabel('Zeit in s','fontweight','bold') title('Winkelleistungsspektrum','FontWeight','bold','FontSize',12);
cbar_handle= colorbar();
set(get(cbar_handle,'ylabel'),'string','Pfadverlust in dB','fontweight','bold')
%set(gcf,'Color','none')
Anscheinend hast du mich nicht richtig verstanden.
Naja in der Beschreibung steht doch ganz klar:
- Figure/axes reproduced as it appears on screen
Das steht nochmal in den "Usage exapmles" ganz deutlich.
Und das ist es gerade was ich nicht will!
Zum besseren Verständnis habe ich nochmal 2 Screenshots angehängt.
Das eine ist das Figure das während das Skript läuft dargestellt wird. Das andere ist das abgespeicherte .eps Bild welches NUR abgespeichert wird.
Das abgespeicherte sieht entsprechend meinen Einstellungen aus. Das figure übernimmt meine Einstellungen nicht.
Das Problem ist, das bei dem obigen Skript das gespeicherte EPS genauso schlecht aussieht, wie das figure.
Ich erkenne jedoch keinen Unterschied im Code...
Ich kann der bisherigen Beschreibung des Problems nicht folgen:
Zitat:
...übernimmt er meine Änderungen und es sieht gut aus.
Also es geht um die Labels und Title, diese werden nicht in der eingestellten Schriftgröße und Typ ('FontWeight','bold') gespeichert.
Sieht es nun gut aus oder werden die eingestellten Schriftgrößen falsch gespeichert?
Was bedeutet: "Das andere ist das abgespeicherte .eps Bild welches NUR abgespeichert wird." Abgespeicherte Bilder werden immer "nur" abgespeichert, oder?
Möchtest Du die Grafik anders speichern, als sie am Bildschirm dargestellt wird? Falls ja, ist dies ein indirekte verbogene Herangehensweise.
Zitat:
Ich erkenne jedoch keinen Unterschied im Code... :?:
Ein Unterschied benötigt laut Definition zwei Objekte. Kannst Du bitte beide Code-Abschnitte posten, von denen Du sprichst? Und wenn Du das bereits getan hast, versuche es bitte nochmal klarer.
Hallo,
sorry schonmal für den riesen Post,
aber besser ein bisschen mehr schreiben und dafrü verständlich, als zu kurz und unverständlich.
Jan S hat Folgendes geschrieben:
Zitat:
...übernimmt er meine Änderungen und es sieht gut aus.
Also es geht um die Labels und Title, diese werden nicht in der eingestellten Schriftgröße und Typ ('FontWeight','bold') gespeichert.
Sieht es nun gut aus oder werden die eingestellten Schriftgrößen falsch gespeichert?
Also zunächst mache ich ein figure, plotte und füge z.B. einen Titel mit Optionen hinzu. Dieses figure wird auf dem Monitor angezeigt. Auf dem Figure übernimmt er keine Optionen. Also keine veränderte Schriftgröße und kein Bold.
Dann exportiere () ich eben dieses figure als eps. Nun im .eps Format sind die Optionen(Schriftgröße und Bold) auf einmal da.
Zitat:
Was bedeutet: "Das andere ist das abgespeicherte .eps Bild welches NUR abgespeichert wird." Abgespeicherte Bilder werden immer "nur" abgespeichert, oder?
Während das Skript läuft wird das Figure angezeigt UND gespeichert (möchte es als Sicherheit, um es notfalls vllt. später auf Windows Matlab zu verbessern).
Das .eps hingegen wird nur gespeichert und nicht angezeigt.
Zitat:
Möchtest Du die Grafik anders speichern, als sie am Bildschirm dargestellt wird? Falls ja, ist dies ein indirekte verbogene Herangehensweise.
Ja das möchte ich. Aber nur weil ich auf Matlab Linux arbeiten muss, und es das nicht richtig anzeigt! Auf Windows funktioniert alles wie es soll. Muss aber leider auf Linux bleiben.
Zitat:
Zitat:
Ich erkenne jedoch keinen Unterschied im Code...
Ein Unterschied benötigt laut Definition zwei Objekte. Kannst Du bitte beide Code-Abschnitte posten, von denen Du sprichst? Und wenn Du das bereits getan hast, versuche es bitte nochmal klarer.
Das Problem an der Sache ist, dass es in einem Skript funktioniert (das .eps hat die Optionen übernommen) und im anderen nicht.
Hier funktioniert es:
Code:
figure('Name','Antenna Pattern',);
if plotMode=='vertikal'
figH =figure;
hold on
pcolor(vector_snapshots,-180:resolution:180,aps_dB);
colormaphot shading interp
axis([min(vector_snapshots)max(vector_snapshots)-180180])
%caxis([-140-60]);
ifstrcmpi(mode,'rx') ylabel('Azimuth-Eintrittswinkel in Grad','fontweight','bold');
else ylabel('Azimuth AOD in Grad');
end xlabel('Zeit in s','fontweight','bold') title('Winkelleistungsspektrum','FontWeight','bold','FontSize',12);
cbar_handle= colorbar();
set(get(cbar_handle,'ylabel'),'string','Pfadverlust in dB','fontweight','bold')
%set(gcf,'Color','none')
Also zunächst mache ich ein figure, plotte und füge z.B. einen Titel mit Optionen hinzu. Dieses figure wird auf dem Monitor angezeigt. Auf dem Figure übernimmt er keine Optionen.
Hier möchte ich gleich stehen bleiben: Wieso übernimmt wer keine Optionen? Bold Text sollte auch im Figure Bold sein und auch die Schriftgröße ist normalerweise im Figure veränderlich. Es sei denn, Du benutzt einen Font, für den keine entsprechenden TrueType-Schnitte vorhanden sind. Das könnte dann beim EPS-Export tatsächlich anders aussehen, falls Du die entsprechenden PostScript-Fonts verwendest.
Ja er sollte es normalerweise übernehmen. Das tut er in Windows auch. Das ist ein Linux-spezifisches Problem, dass er die Optionen im Figure nicht übernimmt.
Vielleicht kennt meine Maschine einfach nicht die Schriftart? Und aus diesem Grund ignoriert er meine Optionen ?
Habe das Problem noch eingegrenzt:
Der Befehl pcolor scheint das Problem zu sein!
In diesem Beispiel übernimmt er die Optionen am Titel (FontWeight und FontSize) im .eps.
Code:
figH =figure;
hold on
title('Winkelleistungsspektrum','FontWeight','bold','FontSize',12);
Welchen Renderer wird für die FIGURe verwendet? Wenn PCOLOR den Renderer automatisch auf "OpenGL" setzt, enthält das exportierte EPS-File nur ein Pixel-Image, während mit dem Painters-Renderer ein skalierbares Vektor-Format erzeugt wird.
Matlab setzt den Renderer automatisch, wenn der RendererMode auf "auto" gesetzt ist.
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.