2021-08-16
Mathematica
Mathematicaで外部データを可視化する
高度な計算能力で優れているMathematicaですが, 他のプログラムで作成したデータの可視化としても非常に強力です. 様々なデータの入出力に対応しているので大変便利なんですが, まずは簡単な使い方をしてみたいという方がいらっしゃると思います(というか, ついさっき聞かれました).
なので, 今回はその導入として, 簡単な例をいくつか紹介したいと思います.
準備
用意するもの
- Mathematica
- importするファイル
テストファイルは data/https___github.com/KeitaSumiya/Mathematica.git 内の ReadList_Test です.
ファイルの置き場所は相対パスでも絶対パスでも可能ですが, ひとまずは便利な相対パスでやってみます. 上でdownloadしたmathematica(nb)とデータ(dat)を同じディレクトリに置いて下さい.
テスト用のデータは, 11行3列の配列で, 1列目(X) : i 2列目(Y) : Sin[ipi/10] 3列目(Z) : 2i (iは0,1,2,...,10) という内容にしました.
やってみる
上から順に実行してみて下さい.
Notebookの場所を指定する
Dataを読み込む
"Number"は, 数として読み込む事を指定(文字として読み込むときは"String"とします), "RecordLists"は, datファイル内の行ごとにサブリストとして読み込む(True)事を指定しています. Falseにすると全て1行のリストとして読み込みます. ( 末尾に ; をつけると出力オフになります[計算はされています] )
Dataをキレイに並べて表示する
Dataから行ごとに取り出す
Esc+[[+Esc で [[ になります. "Esc+[[+Esc"と"[["は同じものです. ( "==="は両辺の真偽を問う関数です. )
Dataから列ごとに取り出す
Dataから指定の列たちを好きな順に取り出す
それを点でプロット
点をつなげてプロット
Dataから指定の列たちを1列以上取り出す
これは元のデータと同じ
Zの値を半分にし, Xと合わせたリストを作ってみる
それをプロット
3次元的にプロットしてみる
3次元的にプロットしてみる(線でつなぐ)
( ListPointPlot3DにJoinedというoptionはありません. )
3次元的にプロットしてみる(面で補完する)
おわり
簡単な事ばかり書きましたが, どなたかのお役に立てば幸いです. 読んでいただきありがとうございました.