はじめに
matplotlibのmplot3dモジュールを使用すると、複数の3D面グラフを一つの図に配置して、データを効果的に比較・分析することができます。このテクニックは、異なるパラメータでのシミュレーション結果の比較や、時系列データの変化を視覚化する際に特に役立ちます。
コード

解説
モジュールのインポート
バージョン
データの生成
xsは0〜10の範囲にある51個の要素からなる配列、zsは[0,1,2,3]となります。
verts = []で空のリストを作成し、そこにデータを追加していきます。
ysはlen(xs)=51個のランダム値を持つ配列です。 verts.appendを使って関数(polygon_under_graph)から返される配列を追加していきます。 zsがrange(4)なので、このプロセスは4回繰り返されます。
関数polygon_under_graphは、最初と最後のy値を0に設定し、その間のデータをzipで取得します。 zipは(xlist, ylist)をひとまとめにする関数で、*を付けることでアンパックします。これにより、(x, y)の形式を要素として持つリストを作成できます。
3D面グラフの表示
PolyCollectionを使用してポリゴンを作成し、verts配列の各要素にfacecolorで色を設定します。
add_collection3dメソッドを利用すると、2次元データを軸方向にずらして複数配置できます。zs=0,1,2,3でzdir=xと指定した場合、vertsの各データはx=0, 1, 2, 3の位置にプロットされます。
コードをダウンロード(.pyファイル) コードをダウンロード(.ipynbファイル)6. まとめと応用例
複数の3D面グラフを並べて表示することで、データの比較や分析が容易になります。この技術は科学研究、エンジニアリング、データサイエンスなど様々な分野で活用できます。
応用例として、地形データの視覚化、機械学習モデルの結果比較、時系列データの変化分析などが挙げられます。プロットの配置やスタイルを工夫することで、より効果的なデータストーリーを伝えることができるでしょう。
最後に、matplotlibの3D機能は非常に柔軟で、さらに複雑な可視化も可能です。是非、自分のデータに合わせてカスタマイズしてみてください。
コメント