2009-12-20 3 views
6

Sto cercando un modo semplice per visualizzare alcuni dei miei dati in NumPy, e ho scoperto il pacchetto mlabwrap che sembra davvero promettente. Sto cercando di creare una trama semplice con la possibilità di essere aggiornati i dati vengono modificati.NumPy all'interfaccia MATLAB con mlabwrap

Ecco il codice MATLAB che sto cercando di duplicare

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

a Python

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

Tuttavia, il secondo per ultimo comando non riesce con un messaggio di errore

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

Qualche suggerimento su come risolvere questo problema?

risposta

6

Forse MLAB è pazzo che non si sta salvando il valore di ritorno di MATLAB per quel set() chiamata ...

io non ho questa hanno installato, cosa someval = mlab.set(h,'XData') dare?

edit: si potrebbe anche provare a utilizzare Nout ... mlab.set(h,'XData',[0,0,0],nout=0)

+0

Grazie, mi hai scommesso alla risposta di qualche minuto. Per default, 'mlabwrap' traduce il comando python per' [RES0 __] = set (arg0__, arg1__, arg2 __) ', e poiché insieme accetta argomenti Ouptut, ciò comporta l'errore precedente. – dzhelil

5

Dal set non prende argomenti di uscita, abbiamo bisogno di dire che non mlabwrap argomenti di uscita dovrebbe essere data ad esso per evitare il messaggio di errore di cui sopra.

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