2本の折れ線グラフ
Pythonで折れ線を描画しました。
点などを描画することをプロット(plot)と言い、データをプロットした図がグラフです。
MatplotlibはPythonのためのオープンソースライブラリになります。
そのMatplotlibをimportして作図してみました。
最後に必ずplt.show()メソッドを忘れないようにします。
1)同一枠に2本の折れ線

- サンプルコード1:Python
matPlt.py
import matplotlib.pyplot as plt
x = [100, 200, 300, 400, 500, 600]
y1 = [10, 20, 35, 50, 80, 130]
y2 = [10, 12, 18, 30, 45, 80]
# プロット箇所を●, 色を赤, 線を '--' に設定
plt.plot(x, y1, marker="o", color ="red", linestyle="--")
# プロット箇所を▼, 色を青, 線を ':' に設定
plt.plot(x, y2, marker="v", color ="blue", linestyle=":")
# 忘れずに
plt.show()
2)別の枠にそれぞれ折れ線
- サンプルコード2:同様にPython
matPltAx1Ax2.py
import matplotlib.pyplot as plt2
x = [100, 200, 300, 400, 500, 600]
y1 = [10, 20, 35, 50, 80, 130]
y2 = [10, 12, 18, 30, 45, 80]
fig = plt2.figure()
# 1行2列に分割した中の左側
ax1 = fig.add_subplot(1, 2, 1)
# プロット箇所を●, 色を赤, 線を '--' にする
ax1.plot(x, y1, marker="o", color ="red", linestyle="--")
# 1行2列に分割した中の右側
ax2 = fig.add_subplot(1, 2, 2)
# プロット箇所を▼, 色を青, 線を ':' にする
ax2.plot(x, y2, marker="v", color ="blue", linestyle=":")
# 大事です
plt2.show()
3)がんばったら正弦波も!
- サンプルコード3:またもPython
matPltSinWav.py
import wave
import numpy as np
from matplotlib import pylab as plt
import struct
a = 1 # 振幅
fs = 500 # サンプリング周波数
f0 = 5 # 周波数
sec = 5 # 秒
swav = []
for n in np.arange(fs * sec):
# サイン波を生成
s = a * np.sin(2.0 * np.pi * f0 * n / fs)
swav.append(s)
# サイン波を表示
plt.plot(swav[0:100])
# 大事なとこ
plt.show()
まとめ
NumpyとMatplotlibの計算結果を、例えばwavファイルとして書き出せば音源を作成することもできるんじゃないでしょうか。
可能性はいくらでも広がりますね。