2009-12-20 6 views
6

Ich bin auf der Suche nach einer einfachen Möglichkeit, einige meiner Daten in numpy zu visualisieren, und ich entdeckte die mlabwrap Paket, das wirklich vielversprechend aussieht. Ich versuche, ein einfaches Diagramm mit der Fähigkeit zu schaffen, aktualisiert zu werden, während sich die Daten ändern. Hiernumpy zu Matlab Schnittstelle mit mlabwrap

ist der Matlab-Code, den ich versuche zu duplizieren

>> h = plot([1,2,3], [1,2,3], '-o'); 
>> set(h, 'XData', [0,0,0]); 
>> drawnow(); 

>> from mlabwrap import mlab 
>> h = mlab.plot([1,2,3], [1,2,3], '-o') 
>> mlab.set(h, 'XData', [0,0,0]) 
>> mlab.drawnow(); 

jedoch Python, die zweite zum letzten Befehl schlägt mit einer Fehlermeldung

error: One or more output arguments not assigned during call to "set". 

Irgendwelche Vorschläge, wie Sie das beheben können?

Antwort

6

Vielleicht ist MLab verrückt, dass Sie nicht Matlab Rückgabewert für diesen Satz() Speichern rufen ...

ich nicht haben diese installiert ist, was macht someval = mlab.set(h,'XData') geben?

bearbeiten: Sie auch nout versuchen könnte mit ... mlab.set(h,'XData',[0,0,0],nout=0)

+0

Danke, Sie wetten mich auf die Antwort von ein paar Minuten. Standardmäßig übersetzt 'mlabwrap' den Python-Befehl in' [RES0 __] = set (arg0__, arg1__, arg2 __); ', und da set keine output-Argumente annimmt, führt dies zu dem obigen Fehler. – dzhelil

5

Da set nimmt keine Ausgabeargumente, müssen wir mlabwrap sagen, dass keine Ausgabeargumente ihm gegeben werden sollte, die obige Fehlermeldung zu vermeiden.

mlab.set(h, 'XData', [0,0,0], nout=0)