使用mlabwrap实现numpy与matlab接口
我想找个简单的方法来可视化我的一些numpy数据,然后我发现了mlabwrap
这个包,看起来很不错。我想创建一个简单的图表,并且希望它能随着数据的变化而更新。
这是我想要复制的matlab代码
>> h = plot([1,2,3], [1,2,3], '-o');
>> set(h, 'XData', [0,0,0]);
>> drawnow();
到python中
>> from mlabwrap import mlab
>> h = mlab.plot([1,2,3], [1,2,3], '-o')
>> mlab.set(h, 'XData', [0,0,0])
>> mlab.drawnow();
不过,倒数第二条命令出现了错误信息
error: One or more output arguments not assigned during call to "set".
有没有什么建议可以解决这个问题?
2 个回答
5
因为 set
这个函数不需要输出结果,所以我们需要告诉 mlabwrap
不要给它任何输出参数,这样才能避免上面提到的错误信息。
mlab.set(h, 'XData', [0,0,0], nout=0)
6
可能是因为你没有把matlab的返回值保存下来,所以mlab有点不高兴,特别是在调用set()的时候...
我这边没有安装这个,你执行 someval = mlab.set(h,'XData')
会得到什么结果呢?
补充一下:你也可以试试用nout... mlab.set(h,'XData',[0,0,0],nout=0)