MATLAB、Python、Scilab、Julia比較ページはこちら
https://www.simulationroom999.com/blog/comparison-of-matlab-python-scilab/
はじめに
MATLAB,Python,Scilab,Julia比較 その42【波形表示方法④】
を書き直したもの。
Juliaによる波形表示方法について記載する。
PlotsとPyPlot
波形表示用のパッケージとしてはPlotsとPyPlotがある。
PyPlotはpythonでおなじみのmatpotlibをベースとしたもの。
Juliaの文化としてPlots推奨などがあるかもしれないが、
matpotlib仕様の方が他の環境、言語と合わせやすいのでPyPlotを使用する。
波形表示
PyPlot自体がmatpotlibをベースにしていることもあるが、
使用方法はかなりMATLABに寄せている状態。
ただし、描画パラメータ指定の一括指定はできない。
よって、linestyle、color、markerに分けて指定する。
> using LinearAlgebra
> using PyPlot
> x=range(0,2*pi,length=200)
> plot(x,sin.(x),linestyle="--", color="r", marker="")
> plot(x,cos.(x),linestyle="-.", color="b", marker="")

他のツール、言語ではx軸の作成をlinspaceで行っていたが、
Juliaではrangeを使用する。
以前はJuliaもlinspace関数は存在したようだが、rangeに置き換わっている。
sin関数を使うには、LinearAlgebraのパッケージが必要になる。
そして、sin関数にベクトルを渡す際は関数名の後ろに「.」を付けてsin.(x)とする必要がある。
「関数をベクトル化するDot構文」と呼ばれてる機能で、
暗黙的に呼び出す関数を非ベクトル版、ベクトル版に分けていると推測される。
波形表示(複数グラフ)
完全にMATLABの仕様に寄せている。
> using LinearAlgebra
> using PyPlot
> x=range(0,2*pi,length=200)
> subplot(2,3,1)
> plot(x,sin.(x),linestyle="--", color="r", marker="")
> subplot(2,3,2)
> plot(x,cos.(x),linestyle="-.", color="b", marker="")
> subplot(2,3,3)
> plot(x,sin.(x),linestyle="--", color="r", marker="")
> subplot(2,3,4)
> plot(x,cos.(x),linestyle="-.", color="b", marker="")
> subplot(2,3,5)
> plot(x,sin.(x),linestyle="--", color="r", marker="")
> subplot(2,3,6)
> plot(x,cos.(x),linestyle="-.", color="b", marker="")

ラインスタイル
こちらもMATLABと同一。
| 指定子 | 線種 |
|---|---|
| ‘-‘ | 実線 (既定の設定) |
| ‘–‘ | 破線 |
| ‘:’ | 点線 |
| ‘-.’ | 一点鎖線 |
色指定
こちらもMATLABと同一。
| 指定子 | 色 |
|---|---|
| b | 青 (Blue) |
| g | 緑 (Green) |
| r | 赤 (Red) |
| c | シアン (Cyan) |
| m | マゼンタ (Magenta) |
| y | 黄 (Yellow) |
| k | 黒 (Black) |
| w | 白 (White) |
マーカー指定
マーカー関してはmatplotlib側に合わせている。
| 指定子 | マーカタイプ |
|---|---|
| “.” | 点 |
| “,” | 四角形 |
| “o” | 円 |
| “v” | 下向き三角形 |
| “^” | 上向き三角形 |
| “<“ | 左向き三角形 |
| “>” | 右向き三角形 |
| “1” | Y 字 |
| “2” | Y 字 (上下反転) |
| “3” | Y 字 (90 度時計回り) |
| “4” | Y 字 (90 度反時計回り) |
| “8” | 八角形 |
| “s” | 四角形 |
| “p” | 五角形 |
| “*” | 星印 |
| “h” | 六角形 (縦長) |
| “H” | 六角形 (横長) |
| “+” | プラス (+) 印 |
| “x” | バツ (×) 印 |
| “D” | 菱形 (ダイヤモンド) |
| “d” | 細い菱形 (ダイヤモンド) |
| “|” | 縦線 |
| “_” | 横線 |
| “None” | マーカーなし |
| ” “ | マーカーなし |
| “” | マーカーなし |
まとめ
- JuliaはPlotsかPyPlotで波形表示。
- PyPlotはmatplotlibのラッパーらしく、使い勝手が他の環境と似ている。
- PyPlotの描画パラメータは個別に指定する必要あり。
- 基本的にはMATLABに寄せている。
バックナンバーはこちら。




コメント