Как очистить график, а затем сохранить очищенные данные в графическом интерфейсе?

Однако я прочитал пару сообщений о том, как сохранить очищенные данные, опробовав предложения в этих сообщениях (это, это, это, это и это), похоже, ни один из них не работает. Одна из проблем, с которой я столкнулся при попытке использовать эти предложения, заключается в том, что программа выполняется до конца, прежде чем какие-либо данные будут очищены, и поэтому сохраненные данные представляют собой пустую матрицу.

Мои цели:

  1. Очистите данные и

  2. Сохраните очищенные данные.

Вот что я пробовал отсюда, но, похоже, это не сработало:

t=0:0.2:25; plot(t,sin(t),'.-');
brush on
hBrushLine = findall(gca,'tag','Brushing');
brushedData = get(hBrushLine, {'Xdata','Ydata'});
brushedIdx = ~isnan(brushedData{1});
brushedXData = brushedData{1}(brushedIdx);
brushedYData = brushedData{2}(brushedIdx);

Может ли кто-нибудь показать простой пример того, как это сделать? Я пытаюсь сделать это в графическом интерфейсе.


person Community    schedule 26.06.2013    source источник


Ответы (2)


Добавление pause после brush on помогает:

t=0:0.2:25; plot(t,sin(t),'.-');
brush on
pause
hBrushLine = findall(gca,'tag','Brushing');
brushedData = get(hBrushLine, {'Xdata','Ydata'});
brushedIdx = ~isnan(brushedData{1});
brushedXData = brushedData{1}(brushedIdx);
brushedYData = brushedData{2}(brushedIdx);
person Community    schedule 26.06.2013

Я на самом деле только что ответил на это сегодня утром.

Посмотрите мой ответ на этот вопрос и помните мои комментарии к моему ответу, возможно, я допустил ошибку в своем первоначальном решении.

сохранение пользовательского ввода из подходящего графического интерфейса Matlab?

Надеюсь, это поможет и вам!

Подводя итог, добавьте waitfor(gcf); output=varToSave (убедитесь, что varToSave не относится к дескриптору/объекту, который должен быть удален), где output – это вывод, возвращаемый вашей функцией графического интерфейса.

person Shaun314    schedule 26.06.2013
comment
Например, waitfor(gcf) открывает новое окно. Кроме того, в вашем ответе не говорится об очистке данных. - person ; 26.06.2013
comment
Вы сказали в графическом интерфейсе, у вашего графического интерфейса нет фигуры ?? Кроме того, звучало так, как будто вы знали, как выполнять очистку данных, и проблема заключалась в том, чтобы попытаться что-то сделать с этими данными, что решает мой ответ. - person Shaun314; 26.06.2013