#navi(プログラミング演習I/17)
*演習 [#d58cfd02]
*Pythonでもグラフ [#za343e13]
-http://matplotlib.org
~インストール:
// pip install bumpy
// brew install freetype
// brew install libpng
 pip3 install matplotlib

 >>> 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
#code(python){{
# -*- 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をインストール [#lb785022]
 $ pip3 install jupyter
**Jupyter Notebookで実行 [#l2645507]
 $ jupyter notebook
***注意:ブラウザが自動で開かない場合 [#i6091bd1]
次の定義を.zshrcか.zshenvで行なってください.
 export BROWSER=open

**サンプル [#r7c3963c]
 %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 [#i6406d5a]
統計データを美しく可視化(matplotlibのラッパー)
**インストール [#b182a68d]
 pip3 install seaborn
**実行 [#me86d013]
 $ 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 [#q7213f24]
-データ解析を支援する機能を提供するライブラリ.数表,時系列データを操作するためのデータ構造と演算を扱う.
-データ:
&ref(pokemon.csv);
-データ元:ポケモンの友(種族値(ポケモンのステータス))
--http://pokebook.jp/data/status.html

***インストール [#q96f75ad]
 $ 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()
*リンク [#z3806b35]
-もっとJupyter Notebook [#sd29eea5]
-もっとJupyter Notebook
--Notebook Gallery – Links to the best IPython and Jupyter Notebooks
---http://nb.bianp.net/sort/views/

-matplotlib
--matplotlib入門 - りんごがでている:http://bicycle1885.hatenablog.com/entry/2014/02/14/023734
--matplotlib入門:http://yubais.net/doc/matplotlib/
-Seaborn
--[[Seaborn: statistical data visualization>http://stanford.edu/~mwaskom/software/seaborn/index.html]]
--[[簡単に美しいグラフ描画ができるPythonライブラリSeaborn入門>http://myenigma.hatenablog.com/entry/2015/10/09/223629]]
-Pandas
--http://pandas.pydata.org

-[[當間先生のプログラミングIのページ:https://ie.u-ryukyu.ac.jp/~tnal/2017/prog1/]]
-Pythonからはじめる数学入門:https://www.oreilly.co.jp/books/9784873117683/

#navi(プログラミング演習I/17)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS