2016-09-30 3 views
0

현재 3D 그래프의 산란 점입니다. 내 X, Y 및 Z는 목록입니다 (len (Z) = R). 그러나 Z 값을 기준으로 색상을 지정하고 싶습니다. 예를 들어, Z> 1이면 색은 빨간색이고, Z> 2 파란색 Z> 3은 분홍색입니다. 현재 코드 :Matplotlib3D 색상 기반 포인트의 Z 축 값

from mpl_toolkits.mplot3d import axes3d 
import matplotlib.pyplot as plt 

fig = plt.figure() 
ax = fig.add_subplot(111, projection='3d') 
ax.scatter(X,Y,Z,for k in range (R): if Z>1: color=['red']) 
plt.show() 
+0

''X, Y, Z''을 무엇입니까? 그것들은 정의되어 있지 않습니다. 배열을 색상으로 전달하면됩니다. – nicoguaro

답변

1

갤러리를 보면 답을 찾을 수 있습니다. 배열을 c=colors에 전달해야합니다. 다음을보십시오 : 1, 2.

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

def randrange(n, vmin, vmax): 
    return (vmax - vmin)*np.random.rand(n) + vmin 


fig = plt.figure(figsize=(8,5)) 
ax = fig.add_subplot(111, projection='3d') 
n = 100 
xs = randrange(n, 23, 32) 
ys = randrange(n, 0, 100) 
zs = randrange(n, 0, 50) 
scat = ax.scatter(xs, ys, zs, c=zs, marker="o", cmap="viridis") 
plt.colorbar(scat) 

ax.set_xlabel('X Label') 
ax.set_ylabel('Y Label') 
ax.set_zlabel('Z Label') 
plt.show() 

enter image description here