Reputation: 22492
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?
Upvotes: 6
Views: 835
Reputation: 22492
Since set
takes no output arguments, we need to tell mlabwrap
that no output arguments should be given to it to avoid the error message above.
mlab.set(h, 'XData', [0,0,0], nout=0)
Upvotes: 5
Reputation: 7816
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)
Upvotes: 6