5

主成分分析または線形判別分析を適用した後、Matplotlib を使用してデータの再投影結果を 3 次元で視覚化するのに苦労しています。散布図を作成した後、簡単にズーム中にデータを回転したり視点を変更したりできません (ズームしても回転軸は同じままで、ズームしすぎるとポイントが消えます)、すべての変更に 1 秒かかります発生します。Matplotlib は非常に便利ですが、この特定のユース ケースでは、おそらくそのようなタスク用に設計されていないため、非常にイライラし始めます。3d 散布図をより適切に処理でき、クラウドをスムーズにナビゲートできる Python の Matplotlib に代わるものはありますか?

次の図に例を示します。特定のクラスに対応する各データ クラスターの周りに球を描画し、重なり合う球を赤で色付けしました。次に、これらの球がどのように交差するかを確認したいと思います。Matplotlib の最大の問題は、マウスでグラフ全体を移動できないことです。固定点を中心に回転することしかできないため、少しズームすると非常に面倒になります。

ここに画像の説明を入力

4

3 に答える 3

5

matplotlib は 3D グラフィックスに対して完全に成熟していません: http://matplotlib.org/mpl_toolkits/mplot3d/faq.html

mplot3d は、ユーザーが matplotlib の 2D プロットと同じ「ルック アンド フィール」で単純な 3D グラフを作成できるようにすることを目的としていました。さらに、ユーザーは使い慣れた同じツールキットを使用して、2D プロットと 3D プロットの両方を生成できます。

3D プロットでの簡単なナビゲーションは簡単に実行できるとは思いません (lib を微調整しないと 3D スケーリングもできません)。mplot3d は当初、本格的な 3D グラフィックス ライブラリを意図したものではありませんでしたが、基本的な 3D を必要とし、matplotlib 2D プロット構造に精通している人々にとっては、より良い追加機能でした。

MayaVI をご覧になることをお勧めします (これは非常に優れています)。

MayaVi2 は、非常に強力で機能豊富な 3D グラフ ライブラリです。高度な 3D シーンと優れたレンダリング機能を実現するには、MayaVi2 を使用することを強くお勧めします。

matplotlib とは異なり、MayaVI はまだ Python3 と互換性がないため (近い将来には互換性がなくなる可能性があります)、Python2 のインストールが必要になることに注意してください。

于 2015-07-28T16:47:17.100 に答える
0

非常に優れた代替手段ですが、Python ではありませんが、ILNumerics ( http://ilnumerics.net/ ) の 3D プロットです。それは.NETにあります

于 2015-08-25T16:23:09.280 に答える
0

Matplotlib は 3D では問題なく動作しますが、対話性が必要な場合は速すぎません。

https://matplotlib.org/mpl_toolkits/mplot3d/tutorial.html

Mayavi は非常に高速で、Python 3 と互換性があります。

https://docs.enthought.com/mayavi/mayavi/mlab.html#id1

于 2020-03-09T18:00:22.400 に答える