ProgLearn講座

【Python】numpy & matplotlib & math を使いこなす – 入門①sin波を描画してみよう

みなさん、こんにちは。どんぶラッコです。

今日はPythonを使ってsin波を描画してみましょう!

データを使ってグラフを描画することはPythonでよく実施する作業です。

今回のサンプルコードを通じて慣れてしまいましょう!

サンプルコードはこれだ!

import matplotlib.pyplot as plt
import numpy as np

# グラフ横軸
x = range(1,1000)
# サイン波の生成
y = np.array([math.sin(math.radians(ms)) for ms in x])

# グラフ表示
plt.plot(x, y, label='sin', color='blue')
plt.show()

すると、こんな感じのグラフが表示されるはずです。

いい感じです!

解説

インポートするライブラリについて

import matplotlib.pyplot as plt
import numpy as np
import math

今回は matplotlib と numpy、 math の3つを使います。

numpy は 数値計算を簡単に、高速に実施してくれるライブラリです。特に配列を扱うときに重宝します!

そしてmatplotlib はグラフを描画するためのライブラリです。個人的にはseabornと組み合わせて使うことが多いですが、今回はわかりやすくmatplotlibだけ使います。

mathは数学で用いられる値を算出するのに用いられるライブラリですね!

点 (x, y) の配列を作る

次に、x と y それぞれの配列を作成しています。

# グラフ横軸
x = range(1,1000)
# サイン波の生成
y = np.array([math.sin(math.radians(ms)) for ms in x])

この結果、xには [1,2,3,4,5, …. , 998, 999, 1000]という配列が入ります

yは [ 1.74524064e-02, 3.48994967e-02, 5.23359562e-02, … ,-9.94521895e-01, -9.92546152e-01, -9.90268069e-01, -9.87688341e-01]

と言う感じになります!

…それだけでは少し不親切なので解説を。笑

[math.sin(math.radians(ms)) for ms in x]

math.sin([radian])で、sinの値を算出しています。

角度をラジアンで算出せよと言われているので math.radians() を使っています。

あとはxの値を順番に代入して算出させていると言うわけです。

グラフの描画

plt.plot(x, y, label='sin', color='blue')
plt.show()

あとはグラフを描画すれば終了です!

label で グラフ名を、colorで色を指定しています。


こうやって分解してみるとわかりやすいですよね!

次はsin波の合成について!お楽しみに〜

ABOUT ME
どんぶラッコ
ECコンサルタント、システムエンジニアを経て、quintet株式会社CTOに就任。普段はNuxt.jsやLaravelを使用しています。

\面白いと思ったら/

記事のシェア & Twitter のフォロー をお願いします!

@proglearn
RELATED POST

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です