matplotlib.pyplotでグラフを画像として保存する方法
Pythonの可視化ライブラリMatplotlibでは、plt.savefig()メソッドを使うことで、作成したグラフを簡単に画像ファイルとして保存できます。ここでは、matplotlib.pyplot.savefig()で画像を保存する基本的な手順を紹介します。
画像を保存する基本手順
- 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。
- numpyを使ってx・yのデータポイントを作成します。
- plot()メソッドでx・yのデータポイントをプロットします。
- 図を保存するために、savefig()メソッドを呼び出します。
コード例
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
x = np.linspace(-np.pi, np.pi, 100)
plt.plot(x, np.sin(x) * x, c='red')
plt.savefig("myimage.png")
実行結果
このコードを実行すると、プロジェクトディレクトリ内に「myimage.png」という名前で以下の画像が保存されます。

savefig()の便利なオプション
savefig()メソッドは引数を指定することで、出力内容を柔軟にカスタマイズできます。よく使われる主なオプションは以下の通りです。
- dpi:画像の解像度を指定します(例:dpi=300 で高解像度出力)。
- bbox_inches='tight':グラフ周辺の余白を自動的にトリミングします。
- transparent=True:背景を透過させた画像を出力します。
- format:拡張子から自動判別されますが、明示的に指定することも可能です。PNGのほか、PDF、SVG、JPEGなど多くの形式に対応しています。
たとえば、高解像度で余白を詰めて保存したい場合は、次のように記述します。
plt.savefig("myimage.png", dpi=300, bbox_inches='tight')
show()で表示した後にsavefig()を呼び出すと、空の画像が保存されることがあるため、必ずshow()より前にsavefig()を実行する点に注意してください。
-
matplotlib.pyplotでテーブルのフォントサイズを変更する方法
matplotlibで作成したテーブルのフォントサイズを変更するには、set_fontsize()メソッドを使用します。ポイントは、その前にauto_set_font_size(False)を呼び出して自動調整機能を無効化することです。これにより、指定したフォントサイズが確実に反映されます。 手順 図(figure)とサブプロットを作成します(nrows=1、ncols=1)。 numpyを使ってランダムなデータを生成します。 列名(columns)を定義します。 軸をtightに設定し、表示をoffにします。 フォントサイズを変更するための変数を初期化します。 auto_set_font_
-
Matplotlibで漸近線・不連続点を含むグラフを正しく描画する方法
はじめにMatplotlibで y = 1/x のような関数をそのままプロットすると、x = 0 付近で値が発散し、グラフ上に不自然な縦線が表示されてしまうことがあります。これは数値計算では厳密な「無限大」を扱えず、0に極めて近い大きな値として計算されるためです。本記事では、numpyとMatplotlibを組み合わせて、漸近線(不連続点)を持つ関数を見やすく描画する手順を解説します。処理の手順numpyを使ってx・yのデータポイントを作成します。plt.axis(off) で軸の表示をオフにします。plot() メソッドでx・yのデータをもとに曲線を描画します。axhline() で水平方向