問題タブ [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 に答える
5133 参照

python - Python: mplot3d、ソリッドのグラフ化

ワイヤーフレームの回転立体をグラフ化しようとしています。ここでは球の例に従っていますが、少し迷っています。すべてを単純化しましたが、エラーが発生しました。hereで説明されている関数の引数も見ていますが、何か誤解していない限り、このコードは問題ないはずです。ここで描こうとしているのは線であり、形ではないことは理解していますが、とにかくこの方法を使用して描画できない理由がわかりません。この例をできるだけ単純にして、実際のソリッドのグラフ化に移れるようにしています。ここにあります:

エラーは次のとおりです。

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

python - Pythonで3Dプロットを作成するには?

これは 3D プロット コードの MATLAB バージョンです: 編集: これは現在のコードです:

これは私が得るエラーメッセージです:

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

python - 3D サーフェスをプロットするときにアーティファクト/グリッド ラインを取り除く

を使用してサーフェスをプロットmpl_toolkits.mplot3d.Axes3D.plot_surface()すると、プロットされているサーフェスの曲線をたどるように見える線が表示されます。例えば:

血まみれのものを取り除き、表面を滑らかにする方法はありますか? 私が言いたいことを示すために画像を添付しました。ここに画像の説明を入力

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

python - matplotlibで3Dパッチコレクションをプロットする方法は?

たとえば、半径1の球を示すために、それぞれが原点を中心とし、半径1で、さまざまな方向を指す3つの円を含むmatplotlibで3Dプロットを作成しようとしています。

2Dでは、円パッチコレクションを作成し、それを軸に追加します。3Dでは、パッチをさまざまな方向に向けるのはもちろんのこと、パッチを表示するのに問題があります。

このプログラムを実行すると、プロットをどのように回転させても、プロットウィンドウ全体が青、つまりパッチの面の色で塗りつぶされます。通話を設定facecolor='none'するPatchCollection()と、空Axes3Dが表示されます。

私が試したこと:

  • CircleCollectionの代わりにを使用するとPatchCollection、パッチがまったく表示されません。
  • 呼び出しのzsパラメーターpatch_collection_2d_to_3d()は奇数です。zs=0(3つのパッチすべてに1つのz座標)またはzs=[0,0,0](パッチごとに個別のz座標)のいずれかを配置することを期待しますが、どちらもエラーをスローします。

    ValueError:シーケンスを使用して配列要素を設定します。

  • パッチの向きを変えるために、次のようなものを渡すことができると期待しますが、それを渡すか、またはzdir=['x', 'y', 'z']を渡すかによって結果に違いはありません。'z'['z']

  • パッチコレクションを2Dから3Dに変換する代わりにできることも期待していましax.add_collection3d(circles, zs=[0, 0, 0], zdir=['x', 'y', 'z'])たが、それでもエラーが発生します。

    AttributeError:'Patch3DCollection'オブジェクトに属性がありません'set_sort_zpos'

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

python - mplot3d での z 軸の書式設定

matplotlib でサーフェス プロットを作成しようとしていますが、z 軸の書式設定を適切に行うことができません。軸に沿って接頭辞を付け、軸の上に指数を付けて科学的記法にしたいと思います(通常、matlabで得られるように)。現時点では、科学表記法なしで値を取得することしかできません (コンマと 5 つのゼロを前に付けて)、または接頭辞は取得できますが、指数は取得できません...

1 を試してください: (科学的記数法を示しますが、指数は示しません)

2 を試してください: (デフォルトの出力と同じ 10 進形式で値を返します)

ここで何が間違っていますか?

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

python - matplotlib で 3d 軸の設定を変更する方法

ここに画像の説明を入力

matplotlib を使用してこのグラフを作成することができました。B という名前の軸から 0.2、0.4、0.6.. を削除し、A という名前の軸で軸間隔を 200 から 100 に変更したいと思います。 ?

ここに私が書いたコードがあります。

関係のない詳細は無視してください..

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

matplotlib - matplotlibフィギュアに3Dサブプロットを追加しようとしています

そこで、他の3つのサブプロットに3つの投影をプロットするとともに、データポイントからの3Dプロットを表す図を作成しようとしています。投影のサブプロットを問題なく追加できますが、3次元プロットをフィギュアに配置しようとすると逆効果になります。

これが私のコードです:

これはスローバックします:'AxesSubplot'オブジェクトには属性'transFigure'がありません

私はmatplotlib0.99.3を使用しています、助けていただければ幸いです、ありがとう!

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

python - Matplotlib 3Dプロット-入力データの2D形式?

matplotlibを使用して2つのパラメーターの関数をプロットしています。matplotlibチュートリアルの例をコピーし、独自の入力データで変換しました。ベクトルXとY(-3:3の数字を等間隔に配置)とZ = peaks(X、Y)で、ピークは前に定義した関数です。なにが問題ですか?

アドバイスをありがとう!

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

python - Python matplotlib:4D用の色のplot3D

x、y、zポイントリストから3Dプロットを作成しようとしていますが、4番目の変数rhoの値に応じて色をプロットしたいと思います。

現在私は持っています;

x、y、zポイントの色としてcell_rho(私の4番目の配列)を追加するにはどうすればよいですか?(たとえば、ジェットカラーマップの場合)。

どうもありがとうございます。

編集:18000ポイントの場合、散布図はマーカーのみのplot3dと比較して非常に遅いため、散布図を使用できません。

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

python - 3D プロットの縦横比の設定

海底の 500m x 40m の部分で実行されたソナーのデータから、海底の 3D 画像をプロットしようとしています。Axes3D で matplotlib/mplot3d を使用しています。x 軸と y 軸がスケーリングされるように、軸の縦横比を変更できるようにしたいと考えています。実際のデータではなく、生成されたデータを使用するスクリプトの例は次のとおりです。

そして、このスクリプトからの出力画像:

matplotlib の出力画像

ここで、トラックに沿った (x) 軸の 1 メートルが範囲 (y) 軸の 1 メートルと同じになるように変更したいと思います (または、関連する相対的なサイズに応じて異なる比率になる可能性があります)。また、データの相対的なサイズのために、z 軸の比率を 1:1 にする必要はありませんが、軸は現在のプロットよりも小さく設定したいと思います。

メーリングリストからのこのメッセージのサンプルスクリプトに従って、matplotlib のこのブランチを構築して使用しようとしましたが、スクリプトに行を追加しました(カスタムバージョンが使用されていることを確認するために、matplotlib の「標準」バージョンをアンインストールしました) 。生成された画像に違いはありません。ax.pbaspect = [1.0, 1.0, 0.25]

編集:したがって、望ましい出力は次のようなものになります(Inkscapeで大雑把に編集された)画像。この場合、x/y 軸に 1:1 の比率を設定していません。

望ましい出力