Matplotlib での曲面プロット
空間データを操作する場合、曲面を生成すると貴重な洞察が得られます。 Matplotlib では、plot_surface 関数がこの目的に利用されます。ただし、2D 配列の形式での入力が必要なため、3D 点を表す 3 タプルのリストと互換性がありません。
データ変換
曲面をプロットするには3 タプルからデータを必要な形式に変換する必要があります。指定されたデータには基礎となる関数 f(x, y) が欠落しているため、点を三角形分割して面を作成する必要があります。
三角形分割と変換
三角形分割プロセスについて、[triangulate_points](https://matplotlib.org/stable/gallery/mplot3d/triangulation_demo.html) 関数を使用できます。提供された点を接続する三角形のリストを生成し、表面メッシュを効果的に作成します。
三角形分割が完了すると、X、Y、Z に必要な 2D 配列を取得できます。これらの配列は頂点の座標を表します。
サーフェスのプロット
変換されたデータを使用して、plot_surface を呼び出すことができます。
<code class="python">import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d.art3d import Poly3DCollection # List of 3-tuples representing points data = [(x1, y1, z1), (x2, y2, z2), ...] # Triangulate the points triangles = triangulate_points(data) # Extract 2D arrays for X, Y, and Z X, Y, Z = zip(*triangles) # Plot the surface fig = plt.figure() ax = fig.add_subplot(111, projection='3d') ax.plot_surface(X, Y, Z) ax.set_xlabel('X Label') ax.set_ylabel('Y Label') ax.set_zlabel('Z Label') plt.show()</code>
このスクリプトは、指定された 3D ポイントをカバーする滑らかなサーフェス。
以上がMatplotlib で 3D 点のリストから曲面をプロットするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。