2012-01-29 2 views
5

Je dois tracer des données qui est dans le format suivant:parcelles 3D à l'aide de maplot3d matplotlib-

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

et z dépend x, y

Pour chaque valeur de x, il devrait y avoir une courbe continue qui montre le v ariation de z w.r.t y et les courbes pour différentes valeurs de x doit être déconnecté

J'utilise mplot3d et il est pas très clair comment tracer des courbes déconnectées.

Voici à quoi il ressemble à l'aide des graphiques à barres. enter image description here

Répondre

6

Vous pouvez superposer plusieurs parcelles en utilisant 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

Questions connexes