2012-01-29 50 views
5

tengo que trazar datos que está en el siguiente formato:gráficos 3D utilizando maplot3d de matplotlib-

x = range(6)
y = range(11)

y z depende de x, y

Para cada valor de x, debe haber una curva continua que muestra la v ariación de z w.r.t y y las curvas para diferentes valores de x debe desconectarse

estoy usando mplot3d y no está muy claro cómo trazar curvas desconectados.

Esto es lo que parece usar gráficos de barra. enter image description here

Respuesta

6

Se podría superponer múltiples parcelas utilizando Axes3D.plot:

import matplotlib.pyplot as plt 
import mpl_toolkits.mplot3d.axes3d as axes3d 
import numpy as np 

x = np.arange(6) 
y = np.linspace(0, 11, 50) 
z = x[:, np.newaxis] + y**2 

fig = plt.figure() 
ax = fig.add_subplot(1, 1, 1, projection = '3d') 
for xval, zrow in zip(x, z): 
    ax.plot(xval*np.ones_like(y), y, zrow, color = 'black') 
plt.show() 

enter image description here

Cuestiones relacionadas