Python

Matplotlibのヒストグラムでx軸のビンサイズをカスタムで設定する方法

データを視覚化する際に、ヒストグラムはデータの分布を把握するのに非常に便利なツールです。matplotlibを使ってヒストグラムを作成する際、x軸のビンサイズ(区間)をカスタムで決めることができます。通常、plt.hist()でbinsを指定すると、データの範囲全体を等間隔に分割しますが、自分で範囲や区間をカスタム設定することも可能です。
この記事では、x軸のビンサイズをカスタムで決める方法について解説します。例えば、データが0から1の範囲に集中している場合、この範囲で20分割する方法を見ていきます。

基本的なヒストグラムの作成

まずは、基本的なヒストグラムの作成方法を確認してみましょう。以下の例では、numpyを使ってランダムなデータを生成し、そのデータをヒストグラムで可視化します。

このコードでは、bins=20を指定してデータの範囲を20等分したヒストグラムを作成しています。しかし、この方法ではビンの範囲はデータの最小値から最大値まで自動的に設定されるので、次のようなデータのとき困ります。

カスタムのビンサイズを設定する

次に、x軸のビンサイズをカスタムで設定する方法を見てみましょう。例えば、データの範囲に関係なく、0から1の間を20分割したい場合は、以下のようにbins引数にカスタムのビンエッジを指定します。

このコードでは、np.linspace(0, 1, 21)を使って、0から1までを20分割する21個のビンエッジを生成しています。これにより、ヒストグラムは0から1の範囲でデータを表示し、その範囲外のデータは無視されます。

ビンサイズを柔軟に調整する方法

カスタムビンをさらに柔軟に調整するために、特定の範囲に集中してビンを配置したい場合など、手動でビンエッジを定義することが有効です。例えば、特定のデータ範囲にビンを集中させ、それ以外の範囲を粗く分割するようなケースを考えてみましょう。

このコードでは、-3から0までを細かく、0から3までを細かく、そして3以降はもっと粗く分割したビンエッジを定義しています。これにより、特定の範囲に焦点を当てたヒストグラムを作成できます。

x軸の範囲を全部にすると以下のようになります。

まとめ

matplotlibでヒストグラムを作成する際、x軸のビンサイズをカスタムで設定することで、データをより柔軟に視覚化することが可能になりますよ!

おすすめ記事

1

こんにちわ、サトシです。33歳です。 今回は、データサイエンティストの3年間に3社で働いた僕が、データサイエンティストとしての転職活動についてまとめて書きたいと思います。 これまでSE→博士研究員→ポ ...

2

お疲れさまです! 久しぶりの更新になってしまいましたが、僕が未経験からデータサイエンティストになるまでの転職活動の全記録を書き残しておきたいと思います。 僕は博士号を取得後に研究員として仕事をしていま ...

3

こんにちわ、サトシです。 今回は、企業でデータサイエンティストとして働いていた僕が、フリーランスとしてどのような手順で独立していったかについて書いていきたいと思います。 僕はSIer SE→博士過程→ ...

-Python

Copyright© さとぶろぐ , 2025 All Rights Reserved Powered by AFFINGER5.