Matplotlib でデータリストのヒストグラムをプロットする方法
    
    Suraj Joshi
    2021年2月9日
    
    Matplotlib
    Matplotlib Visualizations
    
 
データのリストからヒストグラムを描画するには plt.hist() メソッドを使用することができます。
Maplotlib の構文 hist() メソッド
    
matplotlib.pyplot.hist(x,
                       bins=None,
                       range=None,
                       density=False,
                       weights=None,
                       cumulative=False,
                       bottom=None,
                       histtype='bar',
                       align='mid',
                       orientation='vertical',
                       rwidth=None,
                       log=False,
                       color=None,
                       label=None,
                       stacked=False, *,
                       data=None,
                       **kwargs)
例:データのリストから Matplotlib を使ってヒストグラムをプロットする
import matplotlib.pyplot as plt
data = [3, 4, 2, 3, 4, 5, 4, 7, 8, 5, 4, 6, 2, 1, 0, 9, 7, 6, 6, 5, 4]
n, bins, patches = plt.hist(data)
plt.xlabel("Values")
plt.ylabel("Frequency")
plt.title("Histogram")
plt.show()
出力:

ここでは、リスト data の中に値があります。このリストを plt.hist() コマンドに渡して、値のリストからヒストグラムを生成します。plt.hist() メソッドは、ビンの頻度、ビンの終点、ヒストグラムの作成に用いたパッチのリストを返します。
この例では、bins パラメータの値を設定していません。デフォルトでは、bins の数は 10 なので、スクリプトは 10 個のビンを持つデータのリストからヒストグラムを作成します。
さらに、ヒストグラムを作成する際に bins コマンドを用いてビン数を制御することもできます。
import matplotlib.pyplot as plt
data = [3, 4, 2, 3, 4, 5, 4, 7, 8, 5, 4, 6, 2, 1, 0, 9, 7, 6, 6, 5, 4]
n, bins, patches = plt.hist(data, bins=20)
plt.xlabel("Values")
plt.ylabel("Frequency")
plt.title("Histogram with 20 bins")
plt.show()
出力:

この処理では、リストの値の全範囲を均等に分割した結果として、20 個のビンから作られたヒストグラムを表示します。
デフォルトでは、density パラメータの値は False に設定されています。リスト内の各ビンの確率密度をプロットしたい場合は、density を True に設定する必要があります。density が True の場合、ヒストグラムの下の領域は 1 に積分されます。
import matplotlib.pyplot as plt
data = [3, 4, 2, 3, 4, 5, 4, 7, 8, 5, 4, 6, 2, 1, 0, 9, 7, 6, 6, 5, 4]
n, bins, patches = plt.hist(data, bins=20, density=True)
plt.xlabel("Weight")
plt.ylabel("Probability")
plt.title("Histogram with Probability Plot")
plt.show()
出力:

パラメータ color を用いてヒストグラムの色を設定することができます。
import matplotlib.pyplot as plt
data = [3, 4, 2, 3, 4, 5, 4, 7, 8, 5, 4, 6, 2, 1, 0, 9, 7, 6, 6, 5, 4]
n, bins, patches = plt.hist(data, bins=20, density=True, color="red")
plt.xlabel("Weight")
plt.ylabel("Probability")
plt.title("Red Histogram Plot")
plt.show()
出力:

この方法では、赤色のヒストグラムを生成します。
        チュートリアルを楽しんでいますか? <a href="https://www.youtube.com/@delftstack/?sub_confirmation=1" style="color: #a94442; font-weight: bold; text-decoration: underline;">DelftStackをチャンネル登録</a> して、高品質な動画ガイドをさらに制作するためのサポートをお願いします。 Subscribe
    
著者: Suraj Joshi
    Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn