Pythonを始めた1(プロット1)
Pythonを初めたけど色々やっていると何が何かわからなくなるのでメモ程度に.
やったこと
グラフのプロット
使ったライブラリ
- numpy(配列とか)
- matplotlib(MATLAB的な(?))
pipを使ってインストール.pipの使い方とかは下のサイトを参考に.
Pythonで一番最初に入れるべきパッケージ setuptools と pip - Life with Python
python -m pip install numpy python -m pip install matplotlib
ただのプロット
まずはsin関数をplotしてみる.
ソースコード
-*- coding: utf-8 -*- # matplotlib.pyplot を plt として定義 import matplotlib.pyplot as plt # numpy を np として定義 import numpy as np # plotという関数を定義 def plot(): # 角周波数 ω を-π ~ π まで 0.1 刻みで点を取る w = np.arange(-np.pi, np.pi, 0.1) # y = sinω y = np.sin(w) # w を横軸, y を縦軸にしてプロット plt.plot(w, y) # プロットしたグラフを表示 plt.show() # main関数 if __name__ == "__main__": plot() # plot()という関数を呼ぶ
実行結果
x,yの範囲を決める
ソースコード
-*- coding: utf-8 -*- import matplotlib.pyplot as plt import numpy as np def plot_range(): w = np.arange(-np.pi, np.pi, 0.1) y = np.sin(w) plt.plot(w, y) # w の最小 ~ w の最大までをプロット plt.xlim(min(w), max(w)) # y も同様 plt.ylim(min(y) - 0.1, max(y) + 0.1) plt.show() if __name__ == "__main__": plot_range()
実行結果
目盛りやグリッドをつける
ソースコード
-*- coding: utf-8 -*- import matplotlib.pyplot as plt import numpy as np import matplotlib.ticker as tick def plot_grid(): w = np.arange(-np.pi, np.pi, 0.1) y = np.sin(w) plt.plot(w, y) plt.xlim(min(w), max(w)) plt.ylim(min(y) - 0.1, max(y) + 0.1) # x軸の主目盛りを1間隔で表示 plt.gca().xaxis.set_major_locator(tick.MultipleLocator(1)) # x軸の補助目盛りを0.5間隔で表示 plt.gca().yaxis.set_major_locator(tick.MultipleLocator(0.5)) # y軸も同様 plt.gca().xaxis.set_minor_locator(tick.MultipleLocator(0.2)) plt.gca().yaxis.set_minor_locator(tick.MultipleLocator(0.1)) # グリッドを表示 plt.grid() plt.show() if __name__ == "__main__": plot_grid()
実行結果
すごく基礎的なことですが他にも色々書いていけたらなと思います.