LoginSignup
9
7

More than 5 years have passed since last update.

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

Posted at

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[i*pi/10]
3列目(Z) : 2*i
(iは0,1,2,...,10)
という内容にしました.

test-data.png

やってみる

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

Notebookの場所を指定する

ReadList_test1.png

Dataを読み込む

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

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

ReadList_test3.png

Dataから行ごとに取り出す

ReadList_test4.png

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

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次元的にプロットしてみる(線でつなぐ)

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

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

ReadList_test16.png

おわり

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

9
7
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
7