2013-03-22 13 views
9

Ich verwende ein Python-Programm, um einige Daten zu erzeugen, die Daten mit matplotlib.pyplot darzustellen und dann die Figur in einer Latex-Datei anzuzeigen.Wie verbessern Sie die matplotlib-Bildqualität?

Ich spare gerade die Abbildung als .png-Datei, aber die Bildqualität ist nicht groß. Ich habe versucht, die DPI in matplotlib.pyplot.figure(dpi=200) usw. zu ändern, aber dies scheint wenig Unterschied zu machen. Ich habe auch versucht, verschiedene Bildformate zu verwenden, aber sie sehen alle etwas verblasst und nicht sehr scharf aus.

Hat jemand anderes dieses Problem?

Jede Hilfe wäre viel

+3

Warum verwenden Sie kein Vektorgrafikformat wie eps oder pdf? –

+0

[Diese Frage] (http://stackoverflow.com/q/332289/875127) beschäftigt sich mit der Änderung der Größe/dpi/Auflösung eines Bildes, aber es klingt wie Sie es versucht haben. Schau es dir an, falls du etwas verpasst hast. –

+2

Sie sollten definitiv ein vektorbasiertes Format für Plots verwenden. Sie werden von LaTeX gut unterstützt. –

Antwort

10

geschätzt werden Sie die Bilder in einem Vektor-Format speichern können, so dass sie ohne Qualitätsverlust skalierbar sein. Solche Formate sind PDF und EPS. Ändern Sie einfach die Erweiterung zu .pdf oder .eps und Matplotlib wird das richtige Bildformat schreiben. Denken Sie daran, LaTeX mag EPS und PDFLaTeX mag PDF-Bilder. Obwohl die meisten modernen LaTeX-Executables PDFLaTeX verkleidet sind und EPS-Dateien im laufenden Betrieb konvertieren (der gleiche Effekt, als hätten Sie das epstopdf-Paket in Ihre Präambel aufgenommen, das möglicherweise nicht so gut funktioniert, wie Sie möchten).

Alternativ, erhöhen Sie die DPI, eine Menge. Dies sind die Zahlen, die Sie beachten sollten:

  • 300dpi: Normalpapier druckt
  • 600dpi: professionelle Papier druckt. Die meisten kommerziellen Bürodrucker erreichen dies in ihrer Ausgabe.
  • 1200 dpi: professionelle Poster/Broschüre Qualität.

Ich benutze diese die Qualität der PNG Zahlen in Verbindung mit figure ‚s figsize Option anzupassen, die für korrekt skaliert Text und Grafiken, wie Sie die Qualität durch dpi verbessern können.

+1

Oder alternativ versuchen Sie das pdf-Backend http://matplotlib.org/users/pgf.html – pelson

+0

Dank, EPS-Dateien produzieren viel höhere Qualitätszahlen in LYX – user1696811

Verwandte Themen