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 배열을 얻을 수 있습니다. 이러한 배열은 정점의 좌표를 나타냅니다.
표면 플로팅
변환된 데이터를 사용하여 이제 플롯_표면을 호출할 수 있습니다.
<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 중국어 웹사이트의 기타 관련 기사를 참조하세요!