pythonでのグラフ描画


折れ線グラフの描画

これをjupyter notebookで行うとする。
ターミナル上で行うと、ファイルにグラフを保存する必要がある。保存するためには、plt.savefig("ファイル名")とする。

pyplotによる描画


# 数値計算に使うライブラリ
import numpy as np
import pandas as pd

# グラフを描画するライブラリ
from matplotlib import pyplot as plt

# グラフをjupyter Notebook内に表示させるための指定
%matplotlib inline

x = np.array([0,1,2,3,4,5,6,7,8,9])
y = np.array([2,3,4,3,5,4,6,7,4,8])

plt.plot(x, y, color = 'black')
plt.title("lineplot matplotlib")
plt.xlabel("x")
plt.ylabel("y")

seabornによる描画


import seaborn as sns
sns.set()

plt.plot(x, y, color = 'black')
plt.title("lineplot seaborn")
plt.xlabel("x")
plt.ylabel("y")

ヒストグラムの描画


data = np.array([2,3,3,4,4,4,4,5,5,6])
sns.distplot(data, bins = 5, 
             color = 'black', kde = False)

  • binsでデータをいくつのグループに分けるかを定義する。
  • kdeでカーネル密度推定1の表示/非表示を設定

sns.distplot(fish_data, color = 'black' norm_hist=True)


- norm_histによりヒストグラムの面積の合計が1になるように縦軸が変更される。

箱ひげ図

sns.boxplot(x = "species", y  = "length", 
            data = multi, color = 'gray')

バイオリンプロット

カーネル密度推定の結果を用いたもの


sns.violinplot(x = "species", y  = "length", 
               data = multi, color = 'gray')

棒グラフ

sns.barplot(x = "species", y  = "length", 
            data = fish_multi, color = 'gray')

散布図


sns.jointplot(x = "x", y = "y", 
              data = cov_data, color = 'black')

回帰直線

sns.lmplot(x = "temperature", y = "beer", data = D,
          scatter_kws = {"color": "black"},
          line_kws = {"color": "black"})

sns.lmplot(x = "price", y = "sales", data = sales,
          hue = "weather", palette = "gray")

参考

あたらしいPythonで学ぶ統計学の教科書 馬場真哉


  1. 統計学において、確率変数の確率密度関数を推定するノンパラメトリック手法のひとつ。