演習

Pythonでもグラフ

>>> import matplotlib.pyplot as plt
>>> plt.plot( [0,1,2,3,4,5] )
>>> plt.show()
>>> import matplotlib.pyplot as plt
>>> plt.plot( [0,1,2,3,4,5] )
>>> plt.plot( [1,2,3,4,5,6] )
>>> plt.plot( [2,3,4,5,6,7] )
>>> plt.show()
>>> import matplotlib.pyplot as plt
>>> x_num=[1,2,3]
>>> y_num=[2,4,6]
>>> plt.plot(x_num,y_num)
>>> plt.show()
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> x = np.arange(-6, 6, 0.1)
>>> y = np.sin(x)
>>> plt.plot(x, y)
>>> plt.show()

plot_graph.py

Expand allFold all
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
-
!
 
 
 
 
 
 
 
 
 
# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
def plot_graph():
    x = np.arange(-6, 6, 0.1)
    y = np.sin(x)
    plt.plot(x, y, marker='o')
    plt.show()
 
if __name__ == "__main__":
    plot_graph()
$ python plot_graph.py

Jupterをインストール

$ pip3 install jupyter

Jupyter Notebookで実行

$ jupyter notebook

注意:ブラウザが自動で開かない場合

次の定義を.zshrcか.zshenvで行なってください.

export BROWSER=open

サンプル

%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt

x = np.random.rand(100)
y = np.random.rand(100)

plt.scatter(x,y)

plt.title("scatterplot")
plt.xlabel("x")
plt.ylabel("y")

Seaborn

統計データを美しく可視化(matplotlibのラッパー)

インストール

pip3 install seaborn

実行

$ jupyter notebook
%matplotlib inline
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
np.random.seed(sum(map(ord, "aesthetics")))
def sinplot(flip=1):
   x = np.linspace(0, 14, 100)
   for i in range(1, 7):
       plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
sinplot()
import seaborn as sns
sns.set_style("white")  #darkgrid, whitegrid, dark, white, ticks
sinplot()

ちょっとPANDAS

  • データ解析を支援する機能を提供するライブラリ.数表,時系列データを操作するためのデータ構造と演算を扱う.
  • データ: filepokemon.csv
  • データ元:ポケモンの友(種族値(ポケモンのステータス))

インストール

$ pip3 install pandas

実行

$ jupyter notebook
%matplotlib inline
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
df=pd.read_csv( 'pokemon.csv')
df.head()
# 行数の確認
len(df)
# 次元数の確認
df.shape
#データの抽出
df.query("タイプ == 'ほのお'")
#データの抽出その2
df.query("タイプ == 'ほのお'&HP>=70")
#ソート及び表示数制限
df.sort_values(by=["こうげき"],ascending=False)[:10]
#ヒストグラム表示
df["こうげき"].hist()

リンク



添付ファイル: filepokemon.csv 206件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-06-29 (木) 18:02:51 (899d)