2012-01-29 3 views
5

muszę wykreślić dane, które znajduje się w następującym formacie:Działki 3D wykorzystujące maplot3d z matplotlib-

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

i Z zależy x, y

Dla każdej wartości x, powinna być ciągła krzywa, która pokazuje v ariation z Z w.r.t y i krzywe dla różnych wartości x musi być odłączony

Używam mplot3d i nie jest jasne, w jaki sposób do wykreślenia krzywych odłączony.

Oto, jak wygląda wykres słupkowy. enter image description here

Odpowiedz

6

Można nakładać kilka działek za pomocą 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