Matplotlibは、視覚化を作成するための強力なPythonライブラリです。作成したプロットをPDFとして保存することは、作品を共有し、アーカイブするために不可欠です。PDFは、移植性、高品質のレンダリング、幅広い互換性を提供します。このガイドでは、単一のプロットと複数プロットの保存方法、およびカスタマイズオプションについて説明します。
目次
単一のプロットをPDFとして保存する
savefig()
を使用すると、単一のプロットを簡単に保存できます。
import matplotlib.pyplot as plt
# サンプルデータ
x = [1, 2, 3, 4, 5]
y = [2, 4, 1, 3, 5]
# プロットの作成
plt.plot(x, y)
plt.xlabel("X軸")
plt.ylabel("Y軸")
plt.title("私のプロット")
# プロットをPDFとして保存
plt.savefig("my_plot.pdf")
plt.show() # オプション:プロットを表示
解像度を制御するには、dpi
パラメータを使用します。
plt.savefig("my_plot_highres.pdf", dpi=300)
複数のプロットを1つのPDFファイルに保存する
複数のプロットを保存するには、より注意が必要です。同じファイルに順次保存できますが、これにより以前のプロットが上書きされます。
import matplotlib.pyplot as plt
# プロット1
plt.figure(1)
plt.plot([1,2,3],[4,5,6])
plt.savefig("multiple_plots.pdf", bbox_inches='tight')
#プロット2(上書き)
plt.figure(2)
plt.plot([1,2,3],[6,5,4])
plt.savefig("multiple_plots.pdf", bbox_inches='tight')
plt.show()
より詳細な制御を行うには、ReportLabやPyPDF2などのライブラリを使用して、より高度なPDF操作を行います。これらは、プロット配置を正確に制御できます。
PDF出力のカスタマイズ
savefig()
関数には、多くのカスタマイズオプションがあります。
facecolor
とedgecolor
:図の背景色を制御します。orientation
:”縦”または”横”に設定します。transparent
:透明な背景を持つPDFを作成します(True
またはFalse
)。bbox_inches
:バウンディングボックスを制御します。'tight'
は、すべての要素を含めるのに役立ちます。
plt.savefig("customized_plot.pdf", facecolor='lightgray', edgecolor='black', orientation='landscape', transparent=False, bbox_inches='tight')
結論
MatplotlibのプロットをPDFとして保存することは、作品を共有するために不可欠です。このガイドでは、単一のプロットと複数プロットの保存方法、およびカスタマイズオプションについて説明しました。複雑なレイアウトの場合は、高度なPDFライブラリを使用してより詳細な制御を行うことを検討してください。
FAQ
- Q:PDFが空白です。 A:プロットを作成した後に
plt.savefig()
が呼び出されていること、およびファイルパスが正しいことを確認してください。 - Q:異なるページに複数のプロットを保存するにはどうすればよいですか? A:ReportLabなどのライブラリを使用してください。
- Q:プロットが切り取られています。 A:
bbox_inches='tight'
を使用してください。 - Q:どのDPIを使用する必要がありますか? A:300 DPIは、品質とファイルサイズのバランスが良いです。