この記事の目次
まずは日本語化
!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()
|
---|
コメントを残す