2013-03-22 91 views
9

我正在使用python程序生成一些數據,使用matplotlib.pyplot繪製數據,然後在乳膠文件中顯示圖形。你如何提高matplotlib圖像質量?

我目前將圖保存爲.png文件,但圖像質量不是很好。我試過改變matplotlib.pyplot.figure(dpi=200)等DPI,但這似乎沒有什麼區別。我也嘗試使用不同的圖像格式,但他們都看起來有點褪色,不是很尖銳。

有沒有其他人有這個問題?

任何幫助,將不勝感激

+3

爲什麼不使用eps或pdf等矢量圖形格式? – 2013-03-22 16:39:35

+0

[這個問題](http://stackoverflow.com/q/332289/875127)處理更改圖像的大小/ dpi /分辨率,但聽起來像你已經嘗試過。檢查一下,以防有些錯過。 – 2013-03-22 16:41:40

+2

您絕對應該使用基於矢量格式的圖。他們很好地支持LaTeX。 – 2013-03-22 16:54:06

回答

10

您可以將圖像保存在一個矢量格式,以便他們將沒有質量損失可擴展性。這種格式是PDF和EPS。只需將擴展名更改爲.pdf.eps,matplotlib將編寫正確的圖像格式。記住LaTeX喜歡EPS和PDFLaTeX喜歡PDF圖像。儘管大多數現代LaTeX可執行文件都是僞裝的PDFLaTeX,並且可以隨時轉換EPS文件(就像在序言中包含epstopdf軟件包一樣,效果可能不盡人意)。

或者,增加DPI,很多。這些都是你應該記住的數字:

  • 300DPI:普通紙打印
  • 600dpi的:專業紙張打印。大多數商業辦公打印機在其輸出中達到此目的
  • 1200dpi:專業海報/宣傳冊級質量。

我使用這些適應的PNG圖形質量與figurefigsize選項,允許正確縮放文本和你提高通過DPI品質圖形芯片相結合。

+1

或者試試pdf後端http://matplotlib.org/users/pgf.html – pelson 2013-03-22 22:05:44

+0

謝謝.eps文件在lyx中產生更高質量的數字 – user1696811 2013-03-23 15:18:56