matplotlib에서 사용할 수있는 입력 배열을 격자 배열로 변환하기 위해 정의 된 함수를 사용하고 싶습니다. 더 큰 데이터를 가진 예를 보려면 내 griddata.zip 파일을보십시오. 배열은 예를 들어 x = [0,1.0,2.0], y = [0.0,10.0,20.0], z = [0.0, 20.0, 50.0]
과 같으며 길이가 같고 x-y 표에 플롯되어 있어야합니다. : 기본적으로이 문제에 대한 답변이 일부있었습니다. 가능한 용액 M4rtini 주어진 하였다파이썬은 matplotlib에 대해 큰 데이터 배열을 그리드로 변환합니다
from numpy import linspace, meshgrid
import numpy as np
from pprint import pprint
from scipy.interpolate import griddata
def grid(x, y, z, resX=100, resY=100):
"Convert 3 column data to matplotlib grid"
grid_x, grid_y = np.mgrid[min(x): max(x):1j * resX, min(y): max(y):1j * resY]
Z = griddata(np.array(zip(x, y)), np.array(z), (grid_x, grid_y), method='nearest')
return grid_x, grid_y, Z
x =[0,1.0,2.0]
y = [0.0,10.0,20.0]
z = [0.0, 20.0, 50.0]
X,Y,Z = grid(x,y,z)
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.gca(projection='3d')
ax.plot_surface(X,Y,Z)
plt.show()
플롯 출력이 큰 데이터 파일과 같이 표시한다 : Image of Plot output
나는 그것이 변수와 함수와 동일한 이름을 나쁜 관행 생각합니다. 아마도'print grid (x, y, z)'를 시도한 다음 출력 형식에 대해 걱정할 수도 있습니다. 또한,'scipy.interpolate import griddata'에서' – philshem
'을 추가 할 필요가 있다고 생각합니다. 그럼에도 불구하고 내 설명이 업데이트되었지만 반환 값은 None입니다. – beneminzl
(2 부분 대신) 그대로 전체 코드를 공유 할 수 있습니다. – philshem