pythonでのグラフ描画

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

```python

# 数値計算に使うライブラリ
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")
```
<img width="300" height="200" alt="スクリーンショット 2020-01-25 15.33.26.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/512772/7083d05b-2fb4-2ee7-e19e-c9eb016fec15.png">

##seabornによる描画

```python

import seaborn as sns
sns.set()

plt.plot(x, y, color = 'black')
plt.title("lineplot seaborn")
plt.xlabel("x")
plt.ylabel("y")
```
<img width="300" height="200" alt="スクリーンショット 2020-01-25 15.37.35.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/512772/dab889d4-5647-f949-255c-e9d0f009a218.png">

#ヒストグラムの描画

```python

data = np.array([2,3,3,4,4,4,4,5,5,6])
sns.distplot(data, bins = 5, 
             color = 'black', kde = False)
```
<img width="300" height ="200"alt="hist.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/512772/0c701442-e3c8-4214-8968-05731fb6c8b9.png">

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

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

```python

sns.distplot(fish_data, color = 'black' norm_hist=True)
```
<img width="300" height="200" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/512772/ba0978c5-8091-cd9f-d7b1-5d4d21ae3c58.png">
- `norm_hist`によりヒストグラムの面積の合計が１になるように縦軸が変更される。

#箱ひげ図

```python
sns.boxplot(x = "species", y  = "length", 
            data = multi, color = 'gray')
```
<img width="300" height="200" alt="スクリーンショット hako_hige.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/512772/4289234e-8e76-0c1b-5f6c-8a05163b068e.png">

#バイオリンプロット
カーネル密度推定の結果を用いたもの

```python

sns.violinplot(x = "species", y  = "length", 
               data = multi, color = 'gray')
```
<img width="300" height="200"  src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/512772/5e064f9d-f47e-f932-7551-3affd7b8d6f5.png">

#棒グラフ

```
sns.barplot(x = "species", y  = "length", 
            data = fish_multi, color = 'gray')
```
<img width="300" height="200" alt="スクリーンショット 2020-01-25 16.08.15.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/512772/88b53f60-c37b-30d4-ef60-fd9a95140220.png">

#散布図
```python

sns.jointplot(x = "x", y = "y", 
              data = cov_data, color = 'black')
```
<img width="350" height="280" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/512772/d0d899af-6897-2a08-4d06-8236512d12f7.png">

#回帰直線
```python
sns.lmplot(x = "temperature", y = "beer", data = D,
          scatter_kws = {"color": "black"},
          line_kws = {"color": "black"})
```
<img width="300" height="300" alt="スクリーンショット 2020-01-29 13.12.50.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/512772/c3e2cca4-bb7e-ff53-95a0-2dbba45c4b85.png">

```python
sns.lmplot(x = "price", y = "sales", data = sales,
          hue = "weather", palette = "gray")
```
<img width="300" height="300" alt="スクリーンショット 2020-01-29 13.15.02.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/512772/7e20f805-ecca-8b40-6791-80f9ec2faff3.png">



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