Как я могу создать трехмерный график с цветным градиентом для точек?См. Пример ниже, который работает для двухмерного точечного графика.
Редактировать (спасибо Крису): я ожидаю увидеть на трехмерном графике цветовой градиент точек в диапазоне от красного до зеленого, какв 2D-графике рассеяния.На графике трехмерного рассеяния я вижу только красные точки.
Решение: по некоторым причинам (в связи с примером градиента, который я скопировал в другом месте), я установил для xrange значение len-1, которое портит все на трехмерном графике.
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()