2017-05-07 1 views
1

Ich habe eine Reihe von Daten, die ich auf eine verständliche Weise sehen muss. hier, was ich bisher getan:Plotten von Daten in Python von 2D nach 3D

enter image description here

Also habe ich versucht, dies in 3D zu zeichnen wie folgt:

for i in range(len(variance_list[0][:])): 
    for j in range(len(variance_list)): 
     Axes3D.plot(i,j,variance_list[j][i],label='parametric curve') 
plt.show() 

.................................. 
features = [] 
for i in range(len(variance_list[0][:])): 
    for j in range(len(variance_list)): 
     features.append(variance_list[j][i]) 

    plt.plot(features) 
    features.clear() 
plt.xlabel('classes ') 
plt.ylabel('features') 
plt.show() 

Das Ergebnis wie folgt aussieht

Ich bekomme folgende Fehlermeldung:

 1510   #  many other traditional positional arguments occur 
    1511   #  such as the color, linestyle and/or marker. 
-> 1512   had_data = self.has_data() 
    1513   zs = kwargs.pop('zs', 0) 
    1514   zdir = kwargs.pop('zdir', 'z') 

AttributeError: 'int' object has no attribute 'has_data' 

Jede Idee, was mir fehlt, oder wie kann ich dies sollte es sein

Antwort

1

neben Kosmos Vorschlag, gibt es einen Unterschied in der x, y und z Zeilen var

variance_list=[[np.random.rand()**2*(j+1) for _ in range(10)] for j in range(4)] 

fig = plt.figure() 
ax = fig.gca(projection='3d') 
for j in range(len(variance_list)): 
    ax.plot(range(len(variance_list[0])),variance_list[j],j,label='parametric curve') 
plt.show() 

enter image description here

0

statt Axes3D.plot lösen:

fig = plt.figure() 
ax = fig.gca(projection='3d') 
ax.plot(...) 

nach mplot3d docs