2012-01-29 24 views
5

devo tracciare i dati che è nel seguente formato:trame 3D utilizzando maplot3d da matplotlib-

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

e z dipende x, y

Per ogni valore di x, dovrebbe esserci una curva continua che mostra la v ariazione di z w.r.t y e le curve per diversi valori di x deve essere scollegato

sto usando mplot3d e non è molto chiaro come tracciare curve sconnesse.

Ecco come appare utilizzando i grafici a barre. enter image description here

risposta

6

Si potrebbe sovrapporre più trame utilizzando 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

Problemi correlati