ポイントのカラー グラデーションを使用して 3D プロットを作成するにはどうすればよいですか? 2D 散布図で機能する以下の例を参照してください。
編集(クリスに感謝):3Dプロットから期待しているのは、2D散布図のように赤から緑までの点の色のグラデーションです。3D 散布図に表示されるのは赤い点だけです。
解決策: 何らかの理由で (別の場所にコピーしたグラデーションの例に関連して)、xrange を len-1 に設定しました。これにより、3D プロットのすべてが台無しになります。
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# Create Map
cm = plt.get_cmap("RdYlGn")
x = np.random.rand(30)
y = np.random.rand(30)
z = np.random.rand(30)
#col = [cm(float(i)/(29)) for i in xrange(29)] # BAD!!!
col = [cm(float(i)/(30)) for i in xrange(30)]
# 2D Plot
fig = plt.figure()
ax = fig.add_subplot(111)
ax.scatter(x, y, s=10, c=col, marker='o')
# 3D Plot
fig = plt.figure()
ax3D = fig.add_subplot(111, projection='3d')
ax3D.scatter(x, y, z, s=10, c=col, marker='o')
plt.show()