2013-03-22 10 views
9

私はpythonプログラムを使用して、matplotlib.pyplotを使用してデータをプロットしてから、図をラテックスファイルに表示します。matplotlibの画質をどのように改善しますか?

現在、図を.pngファイルとして保存していますが、画質はあまり良くありません。私はmatplotlib.pyplot.figure(dpi=200)などでDPIを変更しようとしましたが、これはほとんど違いがないようです。私はdifferentnetイメージフォーマットを使ってみましたが、それらはすべて少し退色し、あまりシャープではありません。

他に誰かがこの問題を抱えていますか?

すべてのヘルプは非常に彼らは品質を損なうことなくスケーラブルになるようにするには、ベクトル形式で画像を保存することができます

+3

なぜepsやpdfのようなベクターグラフィックスフォーマットを使用しないのですか? –

+0

[この質問](http://stackoverflow.com/q/332289/875127)は、画像のサイズ/ dpi /解像度を変更することについて取り上げていますが、試したように聞こえます。あなたが逃した何かがある場合にそれをチェックしてください。 –

+2

プロットには、必ずベクトルベースの形式を使用する必要があります。彼らはLaTeXによってうまくサポートされています。 –

答えて

10

をいただければ幸いです。そのような形式はPDFとEPSです。拡張子を.pdfまたは.epsに変更すると、matplotlibが正しい画像フォーマットを書き出します。 LaTeXはEPSが好きで、PDFLaTeXはPDF画像が好きです。現代のLaTeXの最新の実行ファイルはPDFLaTeXで偽装していますが、その場でEPSファイルを変換します(これは、あなたのプリアンブルにepstopdfパッケージを含めた場合と同じ効果です。

また、多くのDPIを増やしてください。

  • は300dpi:普通紙プリント
  • 600dpiの
  • :プロの紙プリントこれらはあなたが心に留めておくべき数字です。ほとんどの商業用オフィスのプリンタは、その出力に達しています。
  • 1200dpi:プロのポスター/パンフレットグレードの品質。

私はあなたがDPIを通じて品質を向上させるとして正しくスケーリングし、テキストやグラフィックスを可能figurefigsizeオプションと一緒にPNGの数字の品質を適応させるためにこれらを使用しています。

+1

あるいは、pdfバックエンドを試してみてください。http://matplotlib.org/users/pgf.html – pelson

+0

ありがとう、.epsファイルはlyx – user1696811

関連する問題