Pythonでヒストグラムのプロットを画像として保存する方法
Pythonで作成したヒストグラムを画像ファイルとして保存するには、Matplotlibが提供するsavefig()関数を使用します。以下の手順に従えば、描画したヒストグラムをPNG形式などの画像として簡単に出力できます。
ヒストグラムを保存する基本手順
- 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。
- ヒストグラム用のデータポイント「k」を作成します。
- hist()メソッドを使ってヒストグラムを描画します。
- plt.savefig('ファイル名')を実行して、ヒストグラムを画像として保存します。
- show()メソッドで図を画面に表示します。
コード例
import matplotlib.pyplot as plt
# 図のサイズを設定
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
# ヒストグラム用のデータポイント
k = [1, 3, 2, 5, 4, 7, 5, 1, 0, 4, 1]
# ヒストグラムを描画
plt.hist(k)
# ヒストグラムを保存
plt.savefig('hist.png')
# グラフを表示
plt.show()
実行結果
このコードを実行すると、以下のようなヒストグラムが描画され、プロジェクトの作業ディレクトリ内に「hist.png」という名前で保存されます。


savefig()の便利なオプション
savefig()には、出力画像をより細かく制御するためのオプションが多数用意されています。用途に応じて活用しましょう。
- dpi:解像度を指定できます。例:
plt.savefig('hist.png', dpi=300)で高解像度出力が可能です。 - bbox_inches='tight':グラフ周りの余白を自動的に最小化して保存します。
- transparent=True:背景を透明化して保存できます。
- format:拡張子から自動判別されますが、明示的に
'pdf'、'svg'、'jpg'などを指定することも可能です。
注意点:savefig()はshow()より先に呼び出す
plt.show()を実行すると図が閉じられた後、Figureオブジェクトがクリアされるため、その後にsavefig()を呼び出すと空白の画像が保存されることがあります。必ずshow()の前にsavefig()を記述するようにしてください。
-
Pythonで時系列データをプロットする方法をわかりやすく解説
Pythonのmatplotlibを使えば、時系列データ(日時を軸にしたデータ)を簡単にグラフ化できます。ここでは、datetimeオブジェクトを含むデータを折れ線グラフとして描画する基本的な手順を紹介します。 時系列プロットの基本手順 numpyを使用して、x軸(日時データ)とy軸(数値データ)を作成します。 plot()メソッドを使って、作成したx・yのデータをプロットします。 show()メソッドを実行して、図を画面に表示します。 コード例 以下のサンプルコードでは、2021年1月1日の0時から23時までの24個の日時データを生成し、それに対応するランダムな数値をy軸としてプロットし
-
Pythonでヒストグラムに対数ビンを設定する方法
Matplotlibのplt.hist()メソッドでは、bins引数に値を指定することで、ヒストグラムを描画する際に対数ビン(ログスケールの区切り)を設定できます。この記事では、np.logspace()を使って対数スケール上に等間隔に配置されたビンを生成し、それをヒストグラムに適用する手順を解説します。 手順 範囲が100の配列xを作成します。 plt.hist()メソッドでヒストグラムを描画します。bins引数には、対数スケール上で等間隔に配置された数値を返すnp.logspace()を渡し、対数ビンを指定します。 plt.gca()で現在の軸を取得し(存在しない場合は自動的に作成されま