2017-04-06 2 views
0

x, y, zvalue의 4 개의 1 차원 엔디 어레이가 있다고 가정합니다. (x[i],y[i],z[i]) 점은 value[i]=0 인 경우에만 표면의 일부입니다. matplotlib에서이 표면을 그릴 수있는 방법이 있습니까?matplotlib의 배열에서 함축 암시표

답변

1

아래와 같이 numpy 배열 x, y, z에 불린 색인을 적용 할 수 있습니다.

import numpy as np 
import matplotlib.pyplot as plt 
from mpl_toolkits.mplot3d import Axes3D 

x = np.random.random(10) 
y = np.random.random(10) 
z = np.random.random(10) 
value = np.random.randint(2,size=10) 

fig = plt.figure() 
ax = fig.add_subplot(111, projection='3d') 
ax.scatter(x[value==0], y[value==0], z[value==0]) 
plt.show() 

이 예제에서는 산점도가 표시되지만 표면 플롯의 경우에도 동일한 작업을 수행 할 수 있습니다.