2016-09-30 14 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に渡す必要があります。これらを参照してください:12

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

関連する問題