numpy arrayの3Dプロット関数
numpy配列上で動作する関数のセットによって, mlab 内に視覚化を作成することができます.
mlabプロット関数は,データの x
, y
, z
座標を記述するために,多数の配列を入力として受け取ります.データソースの作成,必要に応じたフィルタリング,ビジュアライゼーションモジュールの追加など,本格的なビジュアライゼーションを構築します.これらの関数の振る舞い,そしてその結果作成される視覚化は,pylabと同様に,キーワード引数によって微調整することができます.さらに,これらはすべて,作成されたビジュアル化モジュールを返すため,このモジュールの属性を変更することによってビジュアル化を変更することもできます.
注釈
このセクションでは,異なる関数のみをリストします.各関数の詳細については,ユーザガイドの最後にある MLabリファレンス を参照してください.リンクをたどってください.
0D/1Dデータ
points3d()
与えられたデータの位置にグリフ(同点)をプロットします.グリフは x
, y
, z
で記述された同じ形のnumpy配列です.
plot3d()
与えられたデータの間に線を引いて, x
, y
, z
と同じ長さの1D numpy配列で記述します.
2Dデータ
imshow()
2D配列をイメージとして表示します.
surf()
2D配列をカーペットプロットとして表示し,配列ポイントの値をz軸で表します.
contour_surf()
2D配列を線の輪郭として表示し,配列の点の値に応じて高くします.
mesh()
3つの2D配列, x
, y
, z
で表されるサーフェスをプロットし,データポイントの座標をグリッドとして与えます. surf()
, とは異なり,サーフェスは x
, y
, z
座標で定義され,特別な方向性はありません.より複雑なサーフェスを作成できます.
barchart()
配列``s`,または明示的な座標配列``x',``y''と``z''を持つ点の集合を棒グラフとしてプロットします.| hack|この関数は非常に汎用性が高く,2Dまたは3D配列だけでなく,点群を使用してバーを配置することもできます.
triangular_mesh()
三角形メッシュをプロットします.このメッシュは,頂点の x
, y
, z
座標,および三角形のインデックスの (n, 3) 配列で完全に指定されます.
surf()
と contour_surf()
の鉛直スケール
surf()
および contour_surf()
は,2Dデータの3D表現として使用できます.既定では,Z軸はX軸およびY軸と同じ単位であることが想定されていますが,2/3のアスペクト比になるように自動スケールすることもできます.この動作は, "warp_scale='auto'" を指定することで制御できます.
データポイントからサーフェスへ.
データ点の位置を知るだけではサーフェスを定義することはできません.接続情報も必要です. surf()
および mesh()
関数を使用すると,この接続情報は入力配列の形状から暗黙的に抽出されます.つまり,2D入力配列内の隣接するデータポイントが接続され,データはグリッド上にあります. triangular_mesh()
関数を使用すると,接続性が明示的に指定されます.接続性が定期的でないことはよくありますが,事前にもわかりません.データ点はサーフェス上にあり,暗黙的に定義されたサーフェスをプロットします.( 不規則なデータのサーフェスの例 )に示されているように,` delaunay2d`フィルタは,必要な最近接マッチングと補間を行います.
3Dデータ
contour3d()
3D配列として定義されたボリュームデータの等値面をプロットします.
quiver3d()
データポイントのベクトルを表す矢印をプロットします. x
, y
, z
の位置は,ベクトルの u
, v
, w
成分と同様に,多数の配列によって指定される.
flow()
3つの3D配列で記述されたベクトルフィールドに沿って粒子の軌跡をプロットし,グリッド上にe u
, v
, w
成分を与える.
volume_slice()
ボリュームデータをスライスしたインタラクティブなイメージプレーンをプロットします.
構造化データまたは非構造化データ
contour3d()
, volume_slice()
と flow()
は順序付けされたデータ(点と点の間を補間することができます)を必要としますが, quiver3d()
は任意の点のセットで動作します.必要な構造体の詳細については,関数のドキュメントを参照してください.