Search code examples
pythonmatlabinterfacemlabwrap

numpy to matlab interface with mlabwrap


I am looking for a simple way to visualize some of my data in numpy, and I discovered the mlabwrap package which looks really promising. I am trying to create a simple plot with the ability to be updated as the data changes.

Here is the matlab code that I am trying to duplicate

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

to python

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

However, the second to last command fails with an error message

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

Any suggestions on how to fix this?


Solution

  • Maybe mlab is mad that you're not saving matlab's return value for that set() call...

    I don't have this installed, what does someval = mlab.set(h,'XData') give?

    edit: you could also try using nout... mlab.set(h,'XData',[0,0,0],nout=0)