Pythonによるデータ分析・機械学習ブログ

Pythonによるデータの前処理・グラフ化、機械学習、統計解析、画像処理、Webスクレイピング、自然言語処理の基礎について紹介していきます。

MENU

【第15回】matplotlibを用いたヒストグラムの作成

はじめに

matplotlibは様々な種類のグラフを描画するライブラリで、描画できるのは主に2次元のプロットですが、3次元プロットの機能も追加されてきています。

例えば以下の様なグラフを作成することができます。

本記事では、matplotlibを用いたヒストグラムの作成方法を確認していきます。

SAMURAI TERAKOYA

 

1. 基本的な描画方法

ヒストグラムはplt.hist()を用いて描画します。

 

2. データ区間の個数(階級数)の指定

データ区間の個数(階級数)の指定を行うには、plt.hist()の引数にbinsを設定します。

以下の例では、データ区間の個数を30としています。


度数分布やヒストグラム作成時の階級数の目安を得られる公式としてスタージェスの公式があります。

これを使用した場合の描画方法は以下の例のようになります。

 

3. データの表示区間の変更

データの表示区間を変更するには、plt.hist()の引数にrangeを設定します。以下の例では-8~8までの区間表示を指定しています。

4. 棒間の幅の変更

ヒストグラムの棒と棒の間隔を変更するのに、plt.hist()の引数にrwidthを設定します。

 

5. 棒の色の変更

棒の色の変更にはplt.hist()の引数にcolorを設定します。指定できる色についてはこちらの記事を参照してください。

6. 棒の枠線の色の設定

棒の枠線の色を変更するには、plt.hist()の引数にedgecolorを設定します。以下の例ではedgecolorに'k'(黒色)を指定しています。指定できる色についてはこちらの記事を参照してください。

 

 

7. 棒の枠線の種類の変更

棒の枠線の種類を変更するには、plt.hist()の引数にlinestyleを設定します。指定できる線種についてはこちらの記事を参照してください。

 

8. 横向きのヒストグラムの作成

横向きのヒストグラムを作成するには、plt.hist()の引数にorientationを設定し、orientationに'horizontal'を指定します。以下に例を示します。

 

9. 2つのヒストグラムの重ね合わせ

2つのヒストグラムを重ね合わせ合わせる際に、それぞれのデータを見やすくするためにそれぞれのヒストグラムの透明度を変更します。透明度の変更にはplt.hist()の引数にalphaを設定します。alphaは0~1の値を指定でき、0を設定すると完全に透明になり、1を設定すると透明度0になります。

10. ヒストグラムの積み上げ

2つのヒストグラムを積み上げて表示するには、plt.hist()の引数にhisttype="barstacked"を設定します。その際、二つのデータx1,x2をリストやタプル型にします。

 

オススメ書籍

Pythonによるあたらしいデータ分析の教科書

Python3エンジニア認定データ分析試験の教科書にもなっている書籍で、データ分析に必要なPythonの基礎手法を身に付けることができます。具体的には、numpyとpandasを用いたデータの前処理、matplotlibを用いたデータのグラフ化、scikit-learnを用いた機械学習の基礎記述方法を身に付けることができます。これ一つで基礎はバッチリで、実務でも十分活用できると思います。個人的には見やすい書籍でした。

データサイエンス教本 Pythonで学ぶ統計分析・パターン認識・深層学習・信号処理・時系列データ分析

こちらの書籍は初心者から少し記述できるようになった人、かつ数学的な理論と一緒にPythonの記述方法を理解したい方にオススメです。統計分析、パターン認識、深層学習、信号処理、時系列データといった幅広く実務で使用する手法を学びたい方にもオススメです。

東京大学のデータサイエンティスト育成講座 ~Pythonで手を動かして学ぶデ―タ分析~

こちらの基礎を抑えながら実務で必要なPython記述法を学べる書籍です。基礎を一つ一つ抑えるというよりも実務で活用できるように必要な知識を身に付けられると感じました。これ一冊あれば十分かなと思いました。

 

スキル修得&転職

 近年、DXの進展に伴うデジタル人材の需要の高まりに追いついていない状況が続いていると経済産業省がホームページで記載している通り、DX人材、IT人材が不足しているのが現状です。さらにコンピュータの性能向上やAI技術の発展により、よりDX人材、IT人材の需要が高まってきます。さらには、今後の長期間安定して職がある業種とも考えられます。

以下の求人では、IT業界の転職や、IT未経験だけどIT人材を志望する就活を支援してくれます。無料で会員登録もできるので、まずは登録だけでもして様子を見てみてはいかがでしょうか?

▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼

▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲

 

おわりに

本記事では、matplotlibを用いたヒストグラムの作成方法を確認しました。本記事の内容も基本的な内容なのでぜひ覚えて使いこなせるようにしましょう。