Matplotlibで最小値・最大値・平均・標準偏差の箱ひげ図を作成する方法
Matplotlibでは、データの最小値・最大値・平均値・標準偏差といった統計量をもとに、箱ひげ図(ボックスプロット)を簡単に作成できます。この記事では、NumPyで生成したランダムデータから各統計量を計算し、Pandasのデータフレームを経由して箱ひげ図を描画するまでの手順を解説します。
手順
- 図のサイズを設定し、サブプロット間および周囲のパディングを調整します。
- 5×5次元のランダムなデータセットを作成します。
- データから最小値・最大値・平均値・標準偏差をそれぞれ算出します。
- 手順3で得た統計量(min・max・avg・std)を使ってPandasのデータフレームを作成します。
- データフレームの各列から箱ひげ図を描画します。
コード例
import numpy as np import pandas as pd from matplotlib import pyplot as plt plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True data = np.random.randn(5, 5) min = data.min(0) max = data.max(0) avg = data.mean(0) std = data.std(0) df = pd.DataFrame(dict(min=min, max=max, avg=avg, std=std)) df.boxplot() plt.show()
出力結果

コードのポイント
np.random.randn(5, 5)は、標準正規分布に従う乱数で構成される5行5列の配列を生成します。続くmin()・max()・mean()・std()は、引数に0を指定することで列ごとの統計量を計算しています。これらの結果を辞書形式でpd.DataFrame()に渡すと、各統計量が1列ずつ並んだデータフレームが完成し、df.boxplot()を呼び出すだけで箱ひげ図が描かれます。
なお、実行するたびに乱数の内容が変わるため、表示されるグラフの形状は毎回異なります。再現性が必要な場合は、np.random.seed()でシード値を固定しておくとよいでしょう。
-
Matplotlibで任意のデータを使って4Dプロットを作成する方法
Matplotlibでは、x・y・z の3つの座標データに加え、c(色) を第4の次元として割り当てることで、いわゆる「4Dプロット」を実現できます。これは実際には3D散布図にカラーマップを組み合わせたものであり、点の位置が3次元情報を、色がもう1つの変数を表現します。以下の手順に従うことで、標準正規分布に従うランダムなデータポイントを使った4Dプロットを簡単に作成できます。手順figure() メソッドを使用して、新しい図を作成するか、既存の図をアクティブ化します。サブプロット構成の一部として、3D投影(projection=3d)を指定した Axes を追加します。NumPy を使って x
-
Python Matplotlibでカスタムカラーとカスタム領域サイズを使って4D散布図をプロットする方法
はじめに散布図(Scatter Plot)は、2つの変数間に関係性があるかどうかを確認するために、2次元データを視覚化する際に非常に便利なグラフです。散布図では、データがX値とY値を持つ点(ドット)として表現されます。実装手順1. matplotlibのインストールまず、以下のコマンドでmatplotlibをインストールします。pip install matplotlib2. matplotlibのインポートimport matplotlib.pyplot as plttennis_stats = ((Federer, 20),(Nadal, 20),(Djokovic, 17),(Sampr