pythonでグラフ(matplotlib)を描く、棒グラフ、散布図、ヒストグラム、箱ひげ図

まずは日本語化

!pip install japanize-matplotlib
import matplotlib.pyplot as plt
import japanize_matplotlib

棒グラフ

# 棒グラフを作成する場合は、たplt.plot()関数ではなく、plt.bar()関数を使用します。

# plt.bar(横軸のデータ, 縦軸のデータ)
# その他の主な引数には以下のようなものがあります。

# 関東地方の7都道府県の人口データを使って、棒グラフを作成してみます。

# matplotlib.pyplotのインポート
import matplotlib.pyplot as plt

# データの作成
x = ["東京", "神奈川", "千葉", "埼玉", "茨城", "栃木", "群馬"]
y = [13515271, 9126214, 6222666, 7266534, 2916976, 1974255, 1973115]

# グラフの作成
plt.bar(x, y)

# グラフの表示
plt.show()

# 棒グラフを横にした横棒グラフを作成する場合は、plt.barh()関数を使用します。
# 関数名barhは、bar(棒)+horizontal(水平)の頭文字からきています。

散布図

# 散布図を作成する場合は、plt.scatter()関数を使用します。

# plt.scatter(横軸のデータ, 縦軸のデータ)

# numpy.random.normal(平均, 標準偏差, データサイズ)
# このとき、numpy.random.seed()関数を使い、シード値と呼ばれる数値を事前に指定しておくことで、毎回同じ乱数を生成することもできます。

# numpy.random.seed(シード値)


# (1)横軸のデータとして、標準正規分布の乱数1000個を作成し、変数xに代入。
# (2)縦軸のデータである変数yは、作成した変数xにノイズ(平均0,分散0.8の正規分布に従う)を加えたデータとします。

# matplotlib.pyplotのインポート
import matplotlib.pyplot as plt

# numpyのインポート
import numpy as np

# シードの固定
np.random.seed(0)

# データの作成
x = np.random.normal(0, 1, 1000)
y = x + np.random.normal(0, 0.8, 1000)

# グラフの作成
plt.scatter(x, y)

# グラフの表示
plt.show()

ヒストグラム

# データがどの範囲にどれだけ存在するかといったデータのばらつき(分布)を確認したい場合は、ヒストグラムが便利です。ヒストグラムはデータのばらつきをわかりやすく表現するためのグラフの1つで、横軸に階級、縦軸に度数をとり、各階級の度数を長方形の柱で表します。

# 例えば、製造している部品の寸法測定値の分布を確認したり、コールセンターの応答時間の分布を確認するようなシーンで利用されます。

# ヒストグラムを作成する場合は、plt.hist()関数を使用します。ヒストグラムはデータの分布を可視化したものなので、plt.hist()関数に渡すデータは1種類のみになります。また、引数binsで分割する階級の数(表示する棒の数)を指定することができ、より細かい粒度や粗い粒度で分布形状を確認することもできます。

# plt.hist(数値型データ, bins=階級の数)

# ヒストグラムの主な引数には以下のとおり。
# 引数	説明
# bins	階級(表示する棒)の数(デフォルト=10)
# range	横軸の表示範囲の最小値と最大値
# density	Trueを指定すると合計が1になるよう正規化
# cumulative	Trueを指定すると累積ヒストグラムを出力
# color	ヒストグラムの色
# それでは、散布図を作成する際にも使用した標準正規分布の乱数1000個を使って、ヒストグラムを作成してみましょう。

# matplotlib.pyplotのインポート
import matplotlib.pyplot as plt

# numpyのインポート
import numpy as np

# シードの固定
np.random.seed(0)

# データの作成
x = np.random.normal(0, 1, 1000)

# グラフの作成
plt.hist(x, bins=20)

# グラフの表示
plt.show()

箱ひげ図

# 箱ひげ図を作成する場合は、plt.boxplot()関数を使用する。

# plt.boxplot(数値型データ)

# 箱ひげ図の主な引数には以下のようなものがあります。
# 引数	説明
# showmeans	Trueを指定すると平均値を表すマーカーを表示
# sym	外れ値のマーカーの色と形状
# showfliers	Falseを指定すると外れ値のマーカーを表示しない
# ひげの長さは、デフォルトで箱の上下それぞれで箱の長さの1.5倍以下とし、
# それを超える値は外れ値とみなされ、図中では丸印○のマーカーで表現されます。
# 注意すべき点として、特にデータに極端な外れ値がある場合は、その外れ値を表示するために縦軸の範囲が広がり、
# 結果として箱の部分が潰れてしまい、重要な指標がグラフから読み取れなくなることがあります。
# 外れ値を表示させたくない場合は、plt.boxplot()関数の引数symに空白""を指定するか、
# またはshowfliersにFalseを指定します。

# plt.boxplot(数値型データ, sym="")
# plt.boxplot(数値型データ, showfliers=False)
# それでは、標準正規分布の乱数1000個のデータを使い、箱ひげ図を作成してみます。

# このとき、引数を使用して、平均値を表すマーカーも合わせて表示させてみましょう。

# matplotlib.pyplotのインポート
import matplotlib.pyplot as plt

# numpyのインポート
import numpy as np

# シードの固定
np.random.seed(0)

# データの作成
x = np.random.normal(0, 1, 1000)

# グラフの作成
plt.boxplot(x, showmeans = True)

# グラフの表示
plt.show()



 

あ、宜しければ・・・。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です