EXCELで、x、y、z座標の3軸データに一手間加えて3次元の立体的な散布図グラフを作ってみました。
EXCELで3次元散布図の機能があると思い込んでて、、、。作ろうと思ったら無かった物ですから。フリーソフト探しても良かったのですが、せっかくなので作ってみました。EXCELの表計算および普通のグラフ化する機能のみで行ってます。
作り方です。まずサンプルデータですが、今回は円柱らせんの3軸座標データを準備しました。
▼円柱らせんの座標データ▼
x、y、z座標のデータです。z軸方向に伸びていく円柱らせんの座標データです。まず、このデータのままx、y座標の2点を使って、2次元散布図でそのままグラフ化すると、
▼xy平面視グラフ(散布図)▼
x、y座標(2点)の散布図です。xy平面(らせんを真上)から見ているので、「円」に見えます。ちなみにこのデータで、z、x座標の2点で散布図グラフ化すると
▼zx平面視グラフ(散布図)▼
円柱らせんを真横(zx平面)から見てます。ただの波打ったラインです。
でこれを3次元散布図っぽくする方法ですが、結局は斜めから見た図を2次元で表現することになるので、座標系を回転して斜めから見た座標でグラフ化すれば3次元散布図っぽく見えるようになるはずです。
ですので、回転行列使って、元データの座標点を回転させます。
▼3次元の回転行列は▼
で表現(左からz軸、y軸、x軸廻り)されますので、元の座標系(座標点)に行列掛けて回転後の座標を計算します。
▼回転後の座標点▼
元の円柱らせんデータを、z軸廻りに45度、x軸廻りに30度程回転した座標です。これ見てもよくわからないですね、、、。(このスクショの点群は実際には使ってません・・。実際には回転行列でzyx順で回転したデータ使ってます。)
回転後のx、y座標点でふつうに散布図グラフ作成してみます。
▼回転後散布図▼
3次元散布図っぽくなってきました。
もともとあるグラフの軸と目盛が邪魔です。もともとの軸、目盛は非表示にして、座標系の軸も一緒に散布図で表現してみます。
▼3次元散布図風▼
基準座標系の点(ライン)を同時に回転計算させて、系列毎に同時にグラフ化してます。z軸は重なっているのでもともとのグラフ軸はそのまま残してます。
これでだいぶ3次元散布図っぽくなったのではないでしょうか。軸目盛はかなり面倒(手間)なので表現するのはやめました。
▼3次元散布図サンプル▼
試しにこんな物作ってみました。左が点群を各平面に投影している3次元散布図、右が末広がりのらせんです。ともに今回紹介した回転行列のみでグラフ化してます。
一手間を加えれば、無理やりですがEXCELでも3次元散布図は表現できそうです。ただフリーソフトもちらほら存在するため、そっち使った方が随分簡単だとは思います・・。今回説明に使用したEXCELシートはここで頒布してます。
コメント
回転系列はx-y-z系を使用させて計算したのでしょうか?
大橋さん、こんにちは。
覚えてませんが、たしか・・、
オイラー角でxyzだったかと・・。