本記事では、Pythonのデータ可視化ライブラリであるmatplotlibを使用して、ヒストグラムの描画方法に焦点を当てました。まず、基本的なプロットの手法から始め、その後、グラフの見た目をカスタマイズする方法や複数のデータセットを重ねて表示する方法について解説しました。
matplotlibとは
プログラミング言語Pythonおよびその科学計算用ライブラリNumPyのためのグラフ描画ライブラリである。オブジェクト指向のAPIを提供しており、様々な種類のグラフを描画する能力を持つ。描画できるのは主に2次元のプロットだが、3次元プロットの機能も追加されてきている。描画したグラフを各種形式の画像(各種ベクトル画像形式も含む)として保存することもできる(Wiki参照)
matplotlib – Wikipedia
ヒストグラムとは
ヒストグラムは、データの分布を視覚的に表現するグラフの一種です。横軸にはデータの値の範囲を、縦軸にはその範囲に含まれるデータの個数や頻度を表示します。データの分布や集中度、外れ値の有無などを把握するのに役立ちます。
基本のプロット
以下は、matplotlibを使用してヒストグラムを描画する基本的な方法です。
import matplotlib.pyplot as plt
import numpy as np
# データの生成
data = np.random.normal(75, 5, 2000)
# ヒストグラムの描画
plt.hist(data)
plt.show()
このコードでは、np.random.normal()関数を使用して平均75、標準偏差5の正規分布に従うデータを生成し、plt.hist()関数でヒストグラムを描画しています。
見た目のカスタマイズ
ヒストグラムの見た目をカスタマイズすることもできます。以下は、いくつかのカスタマイズオプションを示した例です。このコードでは、binsオプションでビンの数、rwidthオプションで棒の幅、colorオプションで色を指定しています。
import matplotlib.pyplot as plt
import numpy as np
# データの生成
data = np.random.normal(75, 5, 2000)
# ヒストグラムの描画
plt.hist(data, bins=12, rwidth=0.8, label="test")
plt.show()
Tips:主要なカスタマイズキーワード
ヒストグラム作成時に使用できる引数オプションが非常に多くあります。が必要最低限テーブルにまとめた分をおさえて記載します。
kywd | 入力例 | 備考 |
---|---|---|
x | ヒストグラムとしてプロットしたい生データ | array形式のもの ※必須 |
bins | bins=5 | 表示する棒(ビンと呼ぶ)の数 |
color | color=”r” または color=”#FFFF00″ または color=(1.0,0,1.0) | 棒の色 色名や16進数、RGBでの指定が可能 |
normed | normed=True | Trueにすると合計値を1になるように正規化する |
histtype | histtype=”step” | ヒストグラムのタイプ barは通常 barstackedは積み上げ stepは線 stepfilledは塗りつぶし線 |
orientation | orientation=’horizontal’ | 棒の配置方向 horizontalは水平 verticalは垂直 |
rwidth | rwidth=0.5 | 棒の幅 |
bottom | bottom=積み上げるデータ | 積み上げ用データ |
log | log=True | 対数目盛での表示 |
label | label=”label1″ | 凡例名 |
色見本
color example code: named_colors.py — Matplotlib 2.0.2 documentation
見た目のカスタマイズ(目盛り)
さらに見た目をカスタマイズします。以下は、いくつかのカスタマイズオプションを示した例です。このコードでは、logオプションで軸を対数化、それぞれの軸にラベルを付けてグラフタイトルをつけています。
import matplotlib.pyplot as plt
import numpy as np
# データの生成
data = np.random.normal(75, 5, 2000)
# ヒストグラムの描画
plt.hist(data, bins=12, rwidth=0.8, label="test", log=True)
plt.legend()
plt.xlabel("X-label") #X軸ラベル
plt.ylabel("Y-label") #Y軸ラベル
plt.title("TEST GRAPH") #グラフタイトル
plt.show()
まとめ
Pythonのmatplotlibライブラリを使用することで、簡単にヒストグラムを描画することができます。データの分布や特徴を把握するために、ヒストグラムを活用しましょう。さらに、matplotlibの豊富なカスタマイズオプションを活用することで、見栄えの良いグラフを作成することも可能です。
コメント