Python
 Computer >> コンピューター >  >> プログラミング >> Python

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()

出力結果

Matplotlibで最小値・最大値・平均・標準偏差の箱ひげ図を作成する方法

コードのポイント

np.random.randn(5, 5)は、標準正規分布に従う乱数で構成される5行5列の配列を生成します。続くmin()・max()・mean()・std()は、引数に0を指定することで列ごとの統計量を計算しています。これらの結果を辞書形式でpd.DataFrame()に渡すと、各統計量が1列ずつ並んだデータフレームが完成し、df.boxplot()を呼び出すだけで箱ひげ図が描かれます。

なお、実行するたびに乱数の内容が変わるため、表示されるグラフの形状は毎回異なります。再現性が必要な場合は、np.random.seed()でシード値を固定しておくとよいでしょう。

  1. Matplotlibで任意のデータを使って4Dプロットを作成する方法

    Matplotlibでは、x・y・z の3つの座標データに加え、c(色) を第4の次元として割り当てることで、いわゆる「4Dプロット」を実現できます。これは実際には3D散布図にカラーマップを組み合わせたものであり、点の位置が3次元情報を、色がもう1つの変数を表現します。以下の手順に従うことで、標準正規分布に従うランダムなデータポイントを使った4Dプロットを簡単に作成できます。手順figure() メソッドを使用して、新しい図を作成するか、既存の図をアクティブ化します。サブプロット構成の一部として、3D投影(projection=3d)を指定した Axes を追加します。NumPy を使って x

  2. 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