はじめに
※ MATLAB、Python、Scilab、Julia比較ページはこちら
https://www.simulationroom999.com/blog/comparison-of-matlab-python-scilab/
Pythonに於ける波形表示方法の備忘録。
PythonというよりもMatplotlibの話になる。
Matplotlib自体がMATLABを元にしているらしいので、MATLAB知ってるとそれほど悩まない可能性は高いが、完全互換ってわけではないので、近いが故に間違うということも多い。
おおよそ加工前データと加工後データを比較する時などに使用することが多い。
波形表示
Matplotlibを使用する。
Matplotlibは、プログラミング言語Pythonおよびその科学計算用ライブラリNumPyのためのグラフ描画ライブラリである。オブジェクト指向のAPIを提供しており、様々な種類のグラフを描画する能力を持つ。描画できるのは主に2次元のプロットだが、3次元プロットの機能も追加されてきている。
Wikipediaより
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> x=np.linspace(0,2*np.pi,200)
>>> plt.plot(x,np.sin(x),linestyle = "--", color = "red")
>>> plt.plot(x,np.cos(x),linestyle = "-.", color = "blue")
>>> plt.show()
Windows上で動作させている場合は、表示する際に「plt.show()」が必要。
波形表示(複数グラフ)
一つのWindowに縦に2つ、横3つの構成でグラフを出す場合は以下になる。
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> x=np.linspace(0,2*np.pi,200)
>>> fig = plt.figure()
>>> ax = fig.add_subplot(2,3,1)
>>> ax.plot(x,np.sin(x),'--r')
>>> ax = fig.add_subplot(2,3,2)
>>> ax.plot(x,np.cos(x),'-.b')
>>> ax = fig.add_subplot(2,3,3)
>>> ax.plot(x,np.sin(x),'--r')
>>> ax = fig.add_subplot(2,3,4)
>>> ax.plot(x,np.cos(x),'-.b')
>>> ax = fig.add_subplot(2,3,5)
>>> ax.plot(x,np.sin(x),'--r')
>>> ax = fig.add_subplot(2,3,6)
>>> ax.plot(x,np.cos(x),'-.b')
>>> plt.show()
ラインスタイル
指定子 | 線種 |
---|---|
‘-‘ | 実線 (既定の設定) |
‘–‘ | 破線 |
‘:’ | 点線 |
‘-.’ | 一点鎖線 |
色指定
指定子 | 色 |
---|---|
b | 青 (Blue) |
g | 緑 (Green) |
r | 赤 (Red) |
c | シアン (Cyan) |
m | マゼンタ (Magenta) |
y | 黄 (Yellow) |
k | 黒 (Black) |
w | 白 (White) |
マーカ指定
指定子 | マーカタイプ |
---|---|
“.” | 点 |
“,” | 四角形 |
“o” | 円 |
“v” | 下向き三角形 |
“^” | 上向き三角形 |
“<” | 左向き三角形 |
“>” | 右向き三角形 |
“1” | Y 字 |
“2” | Y 字 (上下反転) |
“3” | Y 字 (90 度時計回り) |
“4” | Y 字 (90 度反時計回り) |
“8” | 八角形 |
“s” | 四角形 |
“p” | 五角形 |
“*” | 星印 |
“h” | 六角形 (縦長) |
“H” | 六角形 (横長) |
“+” | プラス (+) 印 |
“x” | バツ (×) 印 |
“D” | 菱形 (ダイヤモンド) |
“d” | 細い菱形 (ダイヤモンド) |
“|” | 縦線 |
“_” | 横線 |
“None” | マーカーなし |
None | マーカーなし |
” “ | マーカーなし |
“” | マーカーなし |
‘$…$’ | Mathtext を用いて数式やギリシャ文字を指定 |
まとめ
プロットとそれを結ぶ線の指定により波形表示される。
プロットの種類や線の色を変えることができるので、見やすい構成を考えて描画しよう。
Pythonをガッツリ学習したい場合はオンライン学習サービスなどもあります。
オンラインPython学習サービス「PyQ(パイキュー)」公式ページ
ポイント
- 環境構築不要
- ブラウザだけで学習を始められる。
- 申し込みから4ステップで登録を完了
- 申し込み完了待ちとかない。すぐ始められる。
- 1,000問以上の実践的な課題がある。
※ MATLAB、Python、Scilab、Julia比較ページはこちら
コメント