¿Cómo puedo crear una trama 3D con un degradado de color para los puntos? Vea el ejemplo a continuación, que funciona para un diagrama de dispersión 2D.Diagrama de dispersión 3D de Matplotlib con gradiente de color
Editar (gracias a Chris): Lo que espero ver de la trama 3D es un gradiente de color de los puntos que van del rojo al verde como en el gráfico de dispersión 2D. Lo que veo en el gráfico de dispersión 3D son solo puntos rojos.
Solución: por alguna razón (relacionada con el ejemplo de gradiente que copié en otro lugar) ajusto xrange a len-1, lo cual altera todo en el gráfico 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()
¿Qué hay de malo el diagrama de dispersión 3D? ¿Qué esperas ver de él y qué ves en realidad? Desde el código, su llamada a ['Axes3D.scatter'] (http://matplotlib.sourceforge.net/mpl_toolkits/mplot3d/tutorial.html#scatter-plots) parece estar bien. – Chris
Lo que espero ver de la trama 3D es un gradiente de color de los puntos que van del rojo al verde como en la gráfica de dispersión 2D. Lo que veo en el diagrama de dispersión 3D son solo puntos rojos. –