他のプログラムで作成したデータをMathematicaで読み込んで可視化してみる

Mathematicaで外部データを可視化する

高度な計算能力で優れているMathematicaですが, 他のプログラムで作成したデータの可視化としても非常に強力です.
様々なデータの入出力に対応しているので大変便利なんですが, まずは簡単な使い方をしてみたいという方がいらっしゃると思います(というか, ついさっき聞かれました).

なので, 今回はその導入として, 簡単な例をいくつか紹介したいと思います.

準備

用意するもの

  1. Mathematica
  2. importするファイル

テストファイルは
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)
という内容にしました.

test-data.png

やってみる

上から順に実行してみて下さい.

Notebookの場所を指定する

ReadList_test1.png

Dataを読み込む

ReadList_test2.png

“Number”は, 数として読み込む事を指定(文字として読み込むときは”String”とします),
“RecordLists”は, datファイル内の行ごとにサブリストとして読み込む(True)事を指定しています.
Falseにすると全て1行のリストとして読み込みます.
( 末尾に ; をつけると出力オフになります[計算はされています] )

Dataをキレイに並べて表示する

ReadList_test3.png

Dataから行ごとに取り出す

ReadList_test4.png
ReadList_test5.png

Esc+[[+Esc で [[ になります. “Esc+[[+Esc”と”[[“は同じものです.
( “===”は両辺の真偽を問う関数です. )

Dataから列ごとに取り出す

ReadList_test6.png

Dataから指定の列たちを好きな順に取り出す

ReadList_test7.png

それを点でプロット

ReadList_test8.png

点をつなげてプロット

ReadList_test9.png

Dataから指定の列たちを1列以上取り出す

ReadList_test10.png
ReadList_test11.png

これは元のデータと同じ

Zの値を半分にし, Xと合わせたリストを作ってみる

ReadList_test12.png

それをプロット

ReadList_test13.png

3次元的にプロットしてみる

ReadList_test14.png

3次元的にプロットしてみる(線でつなぐ)

ReadList_test15.png

( ListPointPlot3DにJoinedというoptionはありません. )

3次元的にプロットしてみる(面で補完する)

ReadList_test16.png

おわり

簡単な事ばかり書きましたが, どなたかのお役に立てば幸いです.
読んでいただきありがとうございました.