MatplotlibとNumPyで配列をグレースケール画像として保存・表示する方法
MatplotlibとNumPyを使えば、数値の配列(アレイ)を簡単にグレースケール画像として表示・保存できます。ここでは、5×5のランダムデータをグレースケール画像として描画する基本的な手順を紹介します。
実装の手順
- 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。
- NumPyを使って5×5のランダムなデータを作成します。
- カラーマップを「gray」に設定します。
- imshow() メソッドを使ってデータを画像としてプロットします。
- 図を画面に表示するには show() メソッドを使用します。
コード例
import numpy as np from matplotlib import pyplot as plt plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True arr = np.random.rand(5, 5) plt.gray() plt.imshow(arr) plt.show()
コードのポイント
np.random.rand(5, 5) は0〜1の範囲の一様乱数で構成される5行5列の配列を生成します。plt.gray() を呼び出すことでカラーマップがグレースケールに切り替わり、配列の値が黒(0)から白(1)までの濃淡として表現されます。値が小さいほど暗く、大きいほど明るく表示されます。
また、作成した図をファイルとして保存したい場合は、plt.show() の代わりに(または表示後に)plt.savefig("output.png") を呼び出すことでPNG形式などで保存できます。
出力結果

-
NumPyとMatplotlibで画像セグメンテーションをオーバーレイ表示する方法
NumPyとMatplotlibを組み合わせると、画像セグメンテーションの結果を元画像の上に重ねて(オーバーレイ)表示できます。マスク配列を活用すれば、検出した領域だけを色付きで半透明に強調することが可能です。 実装の手順 10×10のサイズを持つマスク配列を作成します。 一部の領域(中央部分)の値を1に更新します。 NumPyを使って画像データを生成します。 条件を満たす要素をマスクし、マスク済みデータを作成します。 figure()メソッドで新しい図を作成、または既存の図をアクティブ化します。 imshow()メソッドでデータを2次元ラスタ画像として表示します。 show()メソッドで図
-
Matplotlibでnumpyのdatetime64型の時系列データをプロットする方法
PythonのMatplotlibを使って時系列データをグラフ化する方法を解説します。日付や時刻のデータ(datetime64型など)は、そのままplot()メソッドに渡すだけで自動的に軸に反映されるため、非常に簡単です。基本的な手順numpyを使ってx(日時)とy(数値)のデータを作成する。plot()メソッドで作成したxとyをプロットする。show()メソッドで図を表示する。サンプルコードimport matplotlib.pyplot as plt import datetime import numpy as np plt.rcParams[figure.figsize] = [7.