Matlab: выведите подзаговор, удерживая и удерживая в цикле, не всегда вызывая xlabel, ylabel, xlim и т. Д. - PullRequest
3 голосов
/ 30 марта 2011

Вопрос Matlab: это может быть очень просто, но я не могу понять это ... Я довольно новый. У меня есть окно графика, разбитое на два вспомогательных участка, назовем их A и B, которые имеют разные метки и ограничения. Я (держусь), делаю несколько графиков для B, потом я (держусь), затем начинаю итерацию В цикле я хочу обновить как A, так и B с НОВЫМИ графиками, но я хочу, чтобы метки осей, а xlim и ylim оставались прежними, БЕЗ необходимости вызывать xlabel, xlim и т. Д. Каждую итерацию.

Теперь (удержание) уничтожает все свойства оси. Как сохранить свойства оси, чтобы мне не приходилось вызывать xlabel и т. Д. В цикле? Я пробовал newplot, устанавливая свойство Nextplot и т. Д. Безрезультатно. Я хотел бы простое решение, пожалуйста ... а не что-то вроде переписывания команды plot. Спасибо!

hfig=figure();
hax = axes('Parent',hfig);
plot(hax,x,y);
hold on
plot(hax,x1,y1);
%this hold off resets the axes
hold off
while (1)
  subplot('Position',[.07 .05 .92 .44]);
  %I want to do this without having to call xlabel, ylabel, etc
  %over and over
  plot(newx, newy);
  xlabel()
  ylabel()
  hold on
  plot(newx1, newx2)
  hold off
...
end

1 Ответ

2 голосов
/ 30 марта 2011

Одно из решений здесь - инициализировать свойства графика и осей перед циклом, а затем в цикле установить для свойства 'NextPlot' осей значение 'replacechildren', чтобы только объекты графика (а ненастройки осей) будут изменены при следующем вызове PLOT:

hFigure = figure();
hAxes = axes('Parent',hFigure);
plot(hAxes,x,y);
hold on;
plot(hAxes,x1,y1);
xlabel(...);  %# Set the x label
ylabel(...);  %# Set the y label
xlim([...]);  %# Set the x limits
ylim([...]);  %# Set the y limits
while (1)
  set(hAxes,'NextPlot','replacechildren');
  plot(hAxes,newx,newy);
  hold on;
  plot(hAxes,newx1,newx2);
  ...
end

Это должно сохранить настройки для hAxes, когда новые данные отображаются в цикле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...