# データの可視化
import numpy as np
import scipy as sp
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib as mpl
import seaborn as sns
sns.set()
%matplotlib inline
%precision 3
# 棒グラフ
x= [1, 2, 3]
y =[20, 40, 30]
# 大きさ
plt.figure(figsize = (5 , 3))
# 種類
plt.bar(x, y)
# 各データのティック
plt.xticks(x, ['A', 'B', 'C'])
# 全体のラベル
plt.xlabel('Class')
plt.ylabel('Score')
# グリッド
plt.grid(True)
# 表示
plt.show()
# 横棒グラフ : 順番注意
x = [1, 2, 3]
y = [20, 10, 30]
plt.figure(figsize = (5 , 3))
plt.barh(x, y, align ='center')
plt.yticks(x, ['A', 'B', 'C'])
plt.xlabel('Score')
plt.ylabel('Class')
plt.grid(True)
plt.show()
# 複数のグラフ
y1 = [5, 7, 9]
y2 = [6, 8, 8]
x = np.arange(len(y1))
plt.figure(figsize=(5,3))
# 各barの幅 , barのピッチ幅
width = 0.4
pitch = 0.4
# 2つのグラフはそれぞれ指定する
plt.bar(x, y1, color ='red', width=width, label='Score A', align ='center')
# 2つ目のデータは重ならないようにずらす
plt.bar(x + pitch, y2, color ='blue', width=width, label='Score B', align ='center')
# 凡例
plt.legend(loc = 'best')
# ticksの位置は pitch/2 の補正をかけること
plt.xticks(x + pitch/2 , ['A', 'B', 'C'])
plt.grid(True)
plt.show()
# 積み上げ棒グラフ
y1 = np.arange(10) * 5 + 10
y2 = np.arange(10) * 10 + 10
x = np.arange(len(y1))
# 棒グラフでOK
plt.figure(figsize=(5,3))
plt.bar(x, y1, color='red', label='Score A')
# ここで y2には bottom=y1を 入れることによって積み上げられる
plt.bar(x, y2, bottom=y1, color='blue', label='Score B')
# 各ラベル
plt.xticks(x, ['A','B','C','D','E','F','G','H','I','J'])
# 凡例
plt.legend(loc = 'best')
plt.grid(True)
plt.show
# 円グラフ
labels = ['A' , 'B', 'C']
sizes = [10, 20, 30]
colors = ['pink', 'lightblue', 'orange']
explode = (0, 0.1, 0)
# 大きさ
plt.figure(figsize=(5, 3))
plt.pie(sizes, explode=explode, labels=labels, colors=colors,
autopct='%1.1f%%', shadow=True, startangle=90)
# TOPから見る
plt.axis('equal')
# バブルチャート
N = 25
np.random.seed(0)
x = np.random.rand(N)
y = np.random.rand(N)
bubble_size = np.random.rand(N) * 1000
colors = np.random.rand(N)
#大きさ
plt.figure(figsize=(5,3))
#散布図を使う
plt.scatter(x, y, s=bubble_size , c=colors, alpha=0.8)
plt.grid(True)