Presentation is loading. Please wait.

Presentation is loading. Please wait.

図示、可視化モジュール ~ pylab と numpy を ちょっと~. pylab とは? ・数学や統計的なグラフを生成するモ ジュール ・インストール pip や easy install からのインストールを推奨 →numpy モジュールなどの前提としている。 Anaconda の場合は標準.

Similar presentations


Presentation on theme: "図示、可視化モジュール ~ pylab と numpy を ちょっと~. pylab とは? ・数学や統計的なグラフを生成するモ ジュール ・インストール pip や easy install からのインストールを推奨 →numpy モジュールなどの前提としている。 Anaconda の場合は標準."— Presentation transcript:

1 図示、可視化モジュール ~ pylab と numpy を ちょっと~

2 pylab とは? ・数学や統計的なグラフを生成するモ ジュール ・インストール pip や easy install からのインストールを推奨 →numpy モジュールなどの前提としている。 Anaconda の場合は標準

3 読み込みの注意 ・ numpy を呼び出すことによる不具合 %pylab inline や from pylab import * → 組み込み関数が一部上書きされる。 numpy を二重に呼び出す。 %matplotlib inline や import pylab as pl を推奨

4 - 描画 - シンプルなコードで図を書くことができる import pylab as pl pl.plot([1,2,3,4,5,6]) 出力結果 →

5 - 描画 - 引数に 2 つのデータを与えることで、 x と y そ れぞれを指定することも可能。 pl.plot([1,3,4,6],[2,6,3,4]) 出力結果 →

6 -numpy でデータを作る - numpy モジュールを使えば、数学的な計算 を簡単にできる。 ・連続したデータ ・三角関数のデータ 上の 2 つを例に説明する。 import numpy as np と呼び出した状態で説明する。

7 - 連続したデータ - 組み込み関数の range() 同様に使える関数と して、 arange() を紹介する。 np.arange(5) →array([0, 1, 2, 3, 4]) 返り値は numpy の array というデータ型 →list 型同様に連続した要素なので、 plot() の データとして利用可能。

8 - 連続したデータ - numpy の linspace(a,b,c) を使うと、 a から b まで の数を c 個に分けた array を返す。 np.linspace(0,10,5) →array([ 0., 2.5, 5., 7.5, 10. ])

9 - 三角関数のデータ - 直感的な操作で三角関数を扱える x=np.linspace(1,10,100) pl.plot(x,np.sin(x)) 出力結果 →

10 -random でデータを作る - 不規則なデータが欲しい時もあるだろう ・一様な乱数 ・正規分布に従う乱数 上の 2 つを例に説明する。 import random as rd と呼び出した状態で説明する。

11 - 一様な乱数 - random() は 0 から 1 までの数をランダムに返 す。 randint(start,end) を使うと start から end-1 の範 囲でランダムな整数を返します。 rd.random() → 0.5246038424705111 (結果は毎回異な る) rd.randint(5,30) →15 (結果は毎回異なる)

12 - 正規分布に従う乱数 - normalvariate(mu, sigma) は、平均 mu 、標準 偏差 sigma の正規分布に従う数値をランダム に返す。 rd.normalvariate(0,10) →-1.27123013191 (結果は毎回異なる)

13 - グラフを整える - ここまでに、グラフとデータを作る方法に ついて紹介した。 レポート等で利用するには、グラフの体裁 を整える必要がある。 ここからはその方法を項目ごとに紹介する。

14 - タイトル - タイトルをつけるには pylab の title(“graph title”) を指定します。 pl.title("Line1",fontsize=20) pl.plot(range(10))

15 - タイトル - 引数を指定することで、大きさや表示場所 を調整可能

16 - 軸ラベル - 軸ラベルをつけるには pylab の xlabel("label name"),ylabel("label name") を指定します。 pl.xlabel("x-axis",fontsize=15) pl.ylabel("y-axis") pl.plot(range(10))

17 - 軸ラベル - 引数を指定することで、大きさや表示場所 を調整可能

18 - 凡例 - 凡例をつけるには pylab の legend(['Data name1','Data name2'...]) を指定します。 pl.plot(range(10)) pl.legend(['data1'],fontsize=15)

19 - 凡例 - 引数を指定することで、大きさや表示場所 を調整可能

20 - マーカーの調整 - 描画する線やマーカーの調整には pylab の plot(data,“strings”) と “strings” を指定する。

21 - マーカーの調整 - 他に指定できる要素

22 - マーカーの調整 - マーカーや線の調整の例 pl.plot(range(10),"r--") 出力結果 →

23 - ヒストグラム - prot(data) 同様に hist(data) を使うと data 内に 現れるデータの数を棒グラフとして表示可 能 data = [rd.normalvariate(0,10) for i in range(100)] hi = pl.hist(data)

24 - 散布図 - scatter(data_x,data_y) は、複数の点の (x,y) 座 標を表すデータを入力すると散布図を返す。 data_x = [rd.random() for i in range(100)] data_y = [rd.random() for i in range(100)] sc = pl.scatter(data_x,data_y)

25 - 複数のグラフを表示 - 1 つの画面に複数のグラフを配置するために は subplot(n,m,k) を使う。 n×m の領域の k 番目に図を入れることを表す。

26 - 複数のグラフを表示 - pl.subplot(2, 2, 1) pl.plot(range(10)) pl.title("plot1") pl.subplot(2, 2, 2) pl.plot(range(10,0,-1)) pl.title("plot2") pl.subplot(2, 2, 3) pl.plot([1,3,5,4,2,6,9,8]) pl.title("plot3")

27 - 複数のグラフを表示 - 出力結果 このままでは plot3 のタイトルが被るので、 最後に pl.tight_layout() と書くことで自動調整 する。

28 - 複数のグラフを表示 - 出力結果

29 - グラフの保存 - このような発表資料を作るためには図を保 存することが必要 pylab の savefig(“file_name”) を使うとカレント ディレクトリに図が保存される。 “file_name” には拡張子も含め、 pdf も含む豊 富な画像形式をサポートしている。

30 おわりに ここまでの説明 → 残念ながら図示の話だけ 数値計算なども可能 → 自分で勉強してください。 3 次元の図も作成可能 → 自分で勉強してください。

31 おわり。


Download ppt "図示、可視化モジュール ~ pylab と numpy を ちょっと~. pylab とは? ・数学や統計的なグラフを生成するモ ジュール ・インストール pip や easy install からのインストールを推奨 →numpy モジュールなどの前提としている。 Anaconda の場合は標準."

Similar presentations


Ads by Google