интерфейс numpy-matlab с mlabwrap


Я ищу простой способ визуализации некоторых моих данных в 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   6   2009-12-20 06:25:38

2 ответа:

Возможно, mlab злится, что вы не сохраняете возвращаемое значение matlab для этого вызова set ()...

У меня это не установлено, что дает someval = mlab.set(h,'XData')?

Edit: вы также можете попробовать использовать nout... mlab.set(h,'XData',[0,0,0],nout=0)

Поскольку set не принимает выходных аргументов, мы должны сказать mlabwrap, что никакие выходные аргументы не должны быть даны ему, чтобы избежать сообщения об ошибке выше.

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