私はxとyのパラメータを受け取り、zの出力を返すz関数を持っています。私はこれを3Dでプロットし、スケールを設定したいと思います。どうやってこれを簡単にすることができますか?私はドキュメントを見て、あまりにも多くの時間を過ごしましたが、一度これを行う方法はありません。私はmatplotlibを使ってz関数を与えられた3次元プロットを作成したい
答えて
プロットスタイルの種類はデータに依存します(つまり、3Dカーブやサーフェス、散布などをプロットしようとしていますか?)が、演奏を開始するための実例が必要です。
基本的には、関数をプロットに渡さないで、まずxsとysのドメインを作成し、それからzsを計算します。私の例では、ドメインのx-y平面に等間隔に配置された点の単純なグリッドを使用しました。表面のために
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import random
def fun(x, y):
return x + y
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
n = 10
xs = [i for i in range(n) for _ in range(n)]
ys = range(n) * n
zs = [fun(x, y) for x,y in zip(xs,ys)]
ax.scatter(xs, ys, zs)
ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')
plt.show()
それはあなたが2D配列内のドメインのためのグリッドに渡し、少し違うのです。ここで、滑らかな表面の例は次のとおり
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import random
def fun(x, y):
return x**2 + y
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
x = y = np.arange(-3.0, 3.0, 0.05)
X, Y = np.meshgrid(x, y)
zs = np.array([fun(x,y) for x,y in zip(np.ravel(X), np.ravel(Y))])
Z = zs.reshape(X.shape)
ax.plot_surface(X, Y, Z)
ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')
plt.show()
何らかの理由で、関数を変更してもグラフはほとんど変わらないでしょうか?滑らかな表面を作る方法はありますか? – WhatsInAName
OK、傾斜のある放物面で答えを更新しました。 – wim
最後のグラフについては、zに沿ってサーフェスをカラーリングする方法はありますか?言ってやるがいい。 –
- 1. matplotlibを使ってpythonで3次元グラフをプロットする方法は?
- 2. matplotlibボタンを使って作成したプロットを交互に切り替える
- 3. matplotlibを使って単純な3次元配列をプロットする
- 4. PythonのMatplotlibを使ったCの3次元グラフ
- 5. matplotlibを使用したオフセットのない3次元散布図
- 6. opencvの関数で、特定の次元に沿った2次元または3次元行列の最小値を与えることができます。
- 7. pyspark:私は、次のデータフレーム持って与えられたフィールド
- 8. 波動関数の3次元プロット
- 9. は、私は、次のしている与えられた値
- 10. 2次元または3次元辞書をPythonで作成
- 11. 私は次のコードを持っている与えられた条件が
- 12. Matplotlibを使用した複数のプロットの作成
- 13. Matplotlib:放射状に2次元配列をプロットして3dスキャッタプロットを作成
- 14. matplotlibのは、与えられたcolourmap
- 15. Python - 与えられた値から始まって与えられた長さでリストを作成する
- 16. matplotlibの - プロットが文句を言わないので、私は次のコードを書いてやって、私はボタンが押されたとき(matplotlibのを使って)関数グラフをプロットしたい
- 17. は、私は次のように与えられたクラスのオブジェクトを持って
- 18. matplotlibを使ってプロットされたデータからの外挿
- 19. 与えられたベクトルに沿って、頂点、高さ、および角度情報を持つ3D円錐を、与えられたベクトルmatplotlibでプロットする
- 20. APコンピュータサイエンス:メンバ関数は、だから私は次のコード与えられてい
- 21. 与えられたランダムなパスを使ってグラフを作成する
- 22. Rの3次元プロットで複数の2次元プロットを描くには?
- 23. Rの中のrglを使って3次元のプロットを作る?
- 24. 私はこれに似たタブを作成しようとしている私の与えられた画像
- 25. matplotlibの3次元プロット外のデータをトリミングする
- 26. matplotlibの3次元回転プロットを保存する
- 27. ll関数をプロットしているMatplotlib
- 28. 元のプロトタイプに格納された変数を与えられた関数内で元のプロトタイプオブジェクトを取得
- 29. PDFで与えられたCDFと数量関数をプロットする
- 30. ggplotとaes_stringを使ったプロット関数の作成
[3Dプロットの能力(http://matplotlib.sourceforge.net/mpl_toolkits/mplot3d/tutorial.html)matplotlibのには非常に添加しました最近のバージョン、私が知る限り。 –
私は既にそのページを見て、任意のz関数を3次元プロッタに渡す例は見つけられませんでした – WhatsInAName