問題タブ [mplot3d]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2580 参照

python - mplot3d(matplotlib + python)で選択したオブジェクトのプロパティを取得するには?

を使用して一連の点をプロットしmplot3dます。

次に、ピッカー機能を追加します。

そして最後にそれをプロットします:

クリックしているマーカーから 3D 座標を取得する方法はありますか? これまでのところ、で使用したリスト内のポイントのインデックスを取得できますが、何度ax.scatter()も使用するため、これではうまくいきax.scatter()ません。これはこのようにする必要があります (たとえば、異なる色を使用します)。

よろしく

0 投票する
1 に答える
26263 参照

python - Pythonとmatplotlibの3D散布図で2点を接続する

以下のコードでは、.show()命令の直前の2行のコードによって作成された散布図の各ペアを接続する(つまり、緑色の円を黄色の矢印にリンクする)線を作成するにはどうすればよいですか?

0 投票する
3 に答える
3268 参照

python - Pythonとmatplotlibの3D散布図で2点間に長方形または棒を描く

3D散布図があり、その平面の1つに、日付ごとに2つの点をプロットします。点のペアごとに線を引く方法を聞いてみたところ、ありがたい答えが返ってきました。私が今欲しいのは、単なる線ではなく、ポイントを接続するためにBARまたはRECTANGLEを描画することです。

現時点でのプロットは次のようになりますが、バーが軸に固定されているのではなく「フローティング」になっていることを除けば、matplolibのドキュメントの3Dバーデモのプロットに少し似ているようにしたいと思います。

Axes3D.bar(matplotlibページで説明されているように)使用してみましたが、実際の2つの座標ではなく、各バーに「高さ」を指定する必要があり、その高さは軸に固定されます。

これはコードであり、どんな助けでもありがたいです。

0 投票する
2 に答える
2023 参照

python - Matplotlib または Mayavi で次の 3D データをどのように表現しますか?

パターンを見つけることを望んで、3D で表現しようとしている大量のデータがあります。私は読書、調査、コーディングにかなりの時間を費やしましたが、主な問題はプログラミングではなく、実際にデータを視覚化する方法を選択することであることに気付きました。

Matplotlib の mplot3d は多くのオプション (ワイヤーフレーム、輪郭、塗りつぶされた輪郭など) を提供し、MayaVi も同様です。しかし、非常に多くの選択肢があり (そしてそれぞれに独自の学習曲線があります)、私は事実上迷っており、どこから始めればよいかわかりません! だから私の質問は、基本的に、このデータを処理する必要がある場合、どのプロット方法を使用しますか?

私のデータは日付ベースです。各時点について、値 (リスト「実際」) をプロットします。

しかし、各時点には、上限、下限、および中間点もあります。これらの制限と中間点は、異なる平面のシードに基づいています。

「実際の」読み取り値に大きな変化が発生したとき、または発生する前に、ポイントを特定するか、パターンを特定したいと考えています。すべての面の上限が一致したときですか?それともお互いに近づきますか?実際の値が上限/中/下限に達したときですか? ある面のアッパーが別の面のロワーに触れたときですか?

貼り付けているコードでは、データ セットをいくつかの要素に減らしています。私は単純な散布図と折れ線グラフを使用していますが、データ セットのサイズ (およびおそらく mplot3d の制限) のため、探している傾向を見つけるためにそれを使用することはできません。

このプロットを取得していますが、相互関係を確認するのに役立ちません.

ここに画像の説明を入力 私は数学者でも科学者でもないので、本当に必要なのは、データを視覚化するための FORMAT を選択することです。これを mplot3d で表示する効果的な方法はありますか? それとも、MayaVis を使用しますか? どちらの場合でも、どのライブラリとクラスを使用しますか?

前もって感謝します。

0 投票する
4 に答える
46357 参照

python - mplot3d を使用した 2 次元配列のプロット

2D numpy 配列があり、それを 3D でプロットしたいと考えています。mplot3d について聞いたことがありますが、正しく動作しません

これが私がやりたいことの例です。次元 (256,1024) の配列があります。x 軸が 0 から 256、y 軸が 0 から 1024 で、グラフの z 軸が各エントリの配列の値を表示する 3D グラフをプロットする必要があります。

どうすればいいですか?

0 投票する
1 に答える
3707 参照

python - mplot3dを使用したfacecolorsのスケーリングされたカラーマップ

簡単な解決策が必要な簡単なタスクがありますが、私は何日も試しています。具体的にしようと思います。

  • matplotlibのmplot3dとplot_surfaceを使用してサーフェスをプロットしようとしています。データセット「z」の表面をプロットし、カラーマップを特定の最大値にスケーリングしようとすると、「vmax」プロパティをこの値に変更します。それはうまくいきます。

  • 1つのデータセット(z)の表面をプロットし、2番目のデータセット(fc)の面色を使用しようとすると、これも正常に機能します。

  • フェイスカラーのカラーマップを拡大縮小したい場合、vmaxプロパティはフェイスカラー値によって無効にされます。したがって、Vmaxは効果がありません(試行1)。線も消えましたが、それは別の問題です。

  • また、facecolorデータセット(fc)の値を変更しようとしても、目的の効果が得られませんでした(attempt2)。

スケーリングされたカラーマップ(下の「スケーリングされた」の図のように)を使用して、z値ではなく、顔の色にスケーリングされた図を取得しようとしています。

以下のコードは私が今持っているものであり、結果は次のようになります。

ここに画像の説明を入力してください

誰かが私がここで欠けているものを知っていますか?どんな考えでも大歓迎です!

0 投票する
1 に答える
3464 参照

python - 顔の色が指定されている場合、mplot3dsurfでエッジラインが消えます

matlabで次のサーフェスプロットを作成しました。

Matlabフィギュア

代わりに.NETでこれを作成する必要があります。これを行うためにIronPythonを使用したいと思っています。しかし、最初はPython(PyLab)でプロットを作成しようとしています。これは私がこれまでに持っているものです:

Pythonフィギュア

私のコードを見て、Pythonに黒いエッジラインを表示させる方法を教えてください。facecolors=UWR(heatmap)プロパティをに追加すると、これらが消えるように見えsurf(...)ます。これはmplot3dのバグですか、それとも仕様によるものですか?いずれにせよ、どうすれば回線を取り戻すことができますか?

これが私のコードです(巨大なデータマトリックスの謝罪):

0 投票する
0 に答える
3091 参照

python - Pythonでのplot3dの使用

現在、最適化問題を解決していて、見つけた解決策を plot3d ツールキットでプロットしたいと考えています。関数 の最小値を見つけようとしているとしましょうF。を最小化する x の値を呼び出しますF x*Fによって生成されたサーフェスをグリッドとしてプロットし、同じプロットに の最小値も印刷したいと考えていますF : F(x*)

私はこの目的のためにこのコードを使用します:

sol.x最小化する値はどこにありますかF(簡単にするためsol.x=x*)。このコードは次のエラーを返します。

この問題を解決する方法を知っている人はいますか?

ありがとう

クエンティン

0 投票する
0 に答える
530 参照

matplotlib - mplot3d の境界線を設定し、グリッド線をプロットの背後に配置するにはどうすればよいですか?

私は PySide プログラムの一部としてこのプロットを持っています。

ここに画像の説明を入力

そして、私には2つの問題があります。1 つ目は、醜いグレーの境界線です。ツールバーオプションを使用してそれを取り除くことができることは知っていますが、プログラムでそれを行う方法を見つけることができないか、プロット時にデフォルトにすることができません...

2 番目の問題は、サーフェスの上にグリッド ラインを描画していることです。むしろ、それを行わないほうがよいでしょう...サーフェスの下にグリッド ラインを描画するにはどうすればよいですか?

編集:

バージョン 1.1.1 を使用しています。

これは、すべてのプロット タイプで発生するわけではありません。

ここに画像の説明を入力

それは結構です。

複数のオブジェクトをプロットしようとすると、問題になる可能性があります。

ここに画像の説明を入力

しかし、それは mplot3d が try 3D エンジンではなく、Z-Orderingを持つ 3D 画像のセットにすぎないという制限であることを理解しています。そのため、描画されるオブジェクトの順序は向きに依存します。(同じグラフ - 別の角度:ここにリンクの説明を入力してください)。

グリッド線は必ず図面の一番下にあるはずですよね?それらを強制する方法はありますか?

意思。

0 投票する
4 に答える
153672 参照

python - python / matplotlibを使用して3Dプロットの「カメラ位置」を設定する方法は?

私はmplot3dを使用して3dデータの素晴らしいプロットを作成する方法を学んでおり、これまでのところかなり満足しています。私が今やろうとしているのは、回転する表面の小さなアニメーションです。そのためには、3Dプロジェクション用のカメラ位置を設定する必要があります。matplotlibをインタラクティブに使用する場合、マウスを使用してサーフェスを回転できるため、これは可能であると思います。しかし、どうすればスクリプトからこれを行うことができますか?mpl_toolkits.mplot3d.proj3dで多くの変換を見つけましたが、これらを目的に使用する方法を見つけることができず、実行しようとしていることの例も見つかりませんでした。