Python Matplotlib によるヒストグラムチュートリアル

Beginner

This tutorial is from open-source community. Access the source code

はじめに

この実験は、Python Matplotlib ライブラリを使用してヒストグラムを作成する方法に関する手順に従ったチュートリアルです。ヒストグラムは、数値データの分布を表すグラフィカルな表現です。それは、連続変数の確率分布の推定です。

VM のヒント

VM の起動が完了したら、左上隅をクリックしてノートブックタブに切り替え、Jupyter Notebook を使って練習しましょう。

時々、Jupyter Notebook が読み込み終了するまで数秒待つ必要がある場合があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。

学習中に問題に直面した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。

必要なライブラリをインポートする

このステップでは、2 つのライブラリをインポートします。numpy と matplotlib です。numpy は Python プログラミング言語用のライブラリで、大きな多次元配列や行列に対するサポートを追加します。matplotlib は Python プログラミング言語用のグラフ描画ライブラリです。

import numpy as np
import matplotlib.pyplot as plt

サンプルデータを生成する

このステップでは、numpy を使ってサンプルデータを生成します。平均 100、標準偏差 15 の正規分布から乱数データを生成します。

np.random.seed(19680801)
mu = 100  ## 分布の平均
sigma = 15  ## 分布の標準偏差
x = mu + sigma * np.random.randn(437)

ヒストグラムを作成する

このステップでは、matplotlib を使ってヒストグラムを作成します。ビンの数を 50 に設定し、密度パラメータを有効にしてビンの高さを正規化し、ヒストグラムの積分が 1 になるようにします。

num_bins = 50
fig, ax = plt.subplots()
n, bins, patches = ax.hist(x, num_bins, density=True)

最適フィット線を追加する

このステップでは、ヒストグラムに最適フィット線を追加します。線の y 値を計算し、ヒストグラムの上にプロットします。

y = ((1 / (np.sqrt(2 * np.pi) * sigma)) *
     np.exp(-0.5 * (1 / sigma * (bins - mu))**2))
ax.plot(bins, y, '--')

ヒストグラムをカスタマイズする

このステップでは、ヒストグラムにラベル、タイトルを追加し、レイアウトを調整することでカスタマイズします。

ax.set_xlabel('Smarts')
ax.set_ylabel('Probability density')
ax.set_title(r'Histogram of IQ: $\mu=100$, $\sigma=15$')
fig.tight_layout()
plt.show()

まとめ

この実験では、Python の Matplotlib ライブラリを使ってヒストグラムを作成する方法を学びました。正規分布からサンプルデータを生成し、matplotlib を使ってヒストグラムを作成しました。また、最適フィット線を追加し、ラベルとタイトルを追加することでヒストグラムをカスタマイズしました。