2016-08-13 1 views
0

Ich versuche, eine Figur in Matlab zu pdf zu exportieren. Die Figur besteht aus 6 Teilplots und jeder dieser Teilplots ist ein Mesh-Plot. Eines der Mesh-Plots basiert auf 6 Millionen Datenpunkten, während ein anderes auf 4 Millionen Datenpunkten basiert. Der Rest basiert auf weniger Punkten.Matlab: Exportieren Sie Mesh-Plot mit 6 Millionen Elemente zu pdf

Ich exportiere die Figur mit dem Matlab-Druckbefehl. Das Problem, das ich habe, ist, dass dieser Prozess Zeit braucht. Wahrscheinlich mehr als eine halbe Stunde.

Ich habe auch versucht, die Funktion export_fig zu verwenden, aber das funktioniert überhaupt nicht.

Gibt es eine effizientere Möglichkeit, diese Figur in Matlab in pdf zu exportieren?

+3

Bestehen Sie auf Vektorgrafikausgang? Ich wäre nicht überrascht, wenn ein Rasterformat wie ein PNG viel schneller wäre. Beachten Sie, dass solch ein riesiger vektorisierter Datensatz Ihrem PDF-Viewer und/oder Drucker ebenfalls Verdauungsstörungen bereiten kann. –

+0

Danke für den Kommentar. Ich wollte es in ein LaTex-Dokument aufnehmen und pdf/svg bietet eine viel bessere Qualität. Allerdings gibt es nur ein paar Plots mit so vielen Elementen, dass ich vielleicht versuchen könnte zu sehen, wie das PNG aussieht. Es ist die einzig mögliche Option. – Plissken

+3

Wie @AndrasDeak sagte, verwenden Sie ein PNG. MATLAB speichert Netze * in * sehr * ineffizient in Vektorgrafiken und es wird Ihnen nur Kopfschmerzen bereiten. Die daraus resultierende PDF-Datei ist ebenfalls riesig. Sie können die Auflösung von PNG erhöhen, damit sie in Ihrem Dokument verwendet werden kann. – Suever

Antwort

0

Wenn Sie bereit sind, Kompromisse mit der Vektorgrafikqualität einzugehen, können Sie versuchen, das PDF-Format mit der Rendereroption "-opengl" zu drucken. Es wird PDF mit Rasterausgabe geben. Sie können die Auflösung für eine bessere Ausgabequalität erhöhen.

die Sie interessieren,

% Print current figure to foo.pdf with opengl renderer and 300 resolution 
print('foo', '-dpdf', '-opengl', '-r300')