Python プロットを非常に高品質で保存するにはどうすればよいですか?
つまり、PDF ファイルに保存されたオブジェクトを拡大し続けると、ぼやけが発生しないのはなぜですか?
また、それを保存するのに最適なモードは何でしょうか?
png
、eps
? それとも他の?コンパイルpdf
を台無しにする隠し番号があるため、できません。Latexmk
Python プロットを非常に高品質で保存するにはどうすればよいですか?
つまり、PDF ファイルに保存されたオブジェクトを拡大し続けると、ぼやけが発生しないのはなぜですか?
また、それを保存するのに最適なモードは何でしょうか?
png
、eps
? それとも他の?コンパイルpdf
を台無しにする隠し番号があるため、できません。Latexmk
Matplotlibを使用していて、 LaTeXドキュメントで適切な図を取得しようとしている場合は、 EPSとして保存します。具体的には、コマンドを実行して画像をプロットした後、次のようなことを試してください。
plt.savefig('destination_path.eps', format='eps')
私は、EPS ファイルが最適に機能し、dpi
パラメーターが文書内での見栄えを良くするものであることを発見しました。
保存する前に Figure の向きを指定するには、呼び出しの前にplt.savefig
、ただしプロットを作成した後に以下を呼び出すだけです (名前が の軸を使用してプロットしたと仮定しますax
)。
ax.view_init(elev=elevation_angle, azim=azimuthal_angle)
ここelevation_angle
で、 は極角 (垂直 z 軸から下) を指定する数値 (度単位) で、azimuthal_angle
は方位角 (z 軸周り) を指定します。
最初に画像をプロットしてから回転させ、現在の角度の値が実際のプロットのすぐ下のウィンドウの下部に向かって表示されるのを確認することで、これらの値を決定するのが最も簡単であることがわかりました。デフォルトでは x、y、z の位置が表示されますが、画像のクリックとドラッグと回転を開始すると、2 つの角度に置き換わることに注意してください。
Matplotlib も使用して、結果を追加するだけです。
.eps はすべてのテキストを太字にし、透明度を取り除きました。.svg は、実際に私のグラフのように見える高解像度の写真を提供してくれました。
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
# Do the plot code
fig.savefig('myimage.svg', format='svg', dpi=1200)
1200 dpi を使用したのは、多くの科学雑誌が、画像の内容に応じて 1200 / 600 / 300 dpi の画像を必要とするためです。希望の dpi に変換し、GIMPまたはInkscapeでフォーマットします。
.svg はベクター グラフィックスであり、「無限の解像度」を持っているため、明らかに dpi は重要ではありません。