mplot3d よくある質問#
mplot3d は Mayavi とどう違うのですか? #
Mayavi は、非常に強力で機能豊富な 3D グラフ ライブラリです。高度な 3D シーンと優れたレンダリング機能については、Mayavi を使用することを強くお勧めします。
mplot3d は、ユーザーが matplotlib の 2D プロットと同じ「ルック アンド フィール」で単純な 3D グラフを作成できるようにすることを目的としていました。さらに、ユーザーは使い慣れた同じツールキットを使用して、2D プロットと 3D プロットの両方を生成できます。
私の 3D プロットは、特定の視野角で正しく見えません#
これは、おそらく mplot3d で最もよく報告される問題です。問題は、見る角度によっては、3D オブジェクトが物理的に後ろにあるにもかかわらず、別のオブジェクトの前に表示されることです。これにより、「物理的に正しく」見えないプロットになる可能性があります。
残念ながら、このアーティファクトの発生を減らすためにいくつかの作業が行われていますが、現時点では扱いにくい問題であり、matplotlib が 3D グラフィックス レンダリングをコアでサポートするまで完全に解決することはできません。
この問題は、3D データを 2D + z オーダー スカラーに縮小するために発生します。単一の値は、コレクション内の 3D オブジェクトのすべての部分の 3 次元を表します。したがって、2 つのコレクションの境界ボックスが交差すると、このアーティファクトが発生する可能性があります。さらに、2 つの 3D オブジェクト (ポリゴンやパッチなど) の交差は、matplotlib の 2D レンダリング エンジンでは適切にレンダリングできません。
この問題は、OpenGL サポートがすべてのバックエンドに追加されるまで解決されない可能性があります (パッチは大歓迎です)。それまでは、複雑な 3D シーンが必要な場合は MayaViを使用することをお勧めします。
3D プロットのレイアウトが気に入らないのですが、どうすれば変更できますか? #
歴史的に、mplot3d は、ラベルの間隔、目盛りの長さ、グリッド線の幅などのビジュアルを制御するために使用されるパラメーターのハードコーディングに悩まされてきました。この問題を解消するための作業が行われています。matplotlib v1.1.0 の場合、これらのパラメーターを変更する半公式の方法があります。mplot3d.axis3d
詳細については、mplot3d API ドキュメントのセクションにある注記を参照して
ください。