Я создаю фигуру с несколькими сюжетами и сохраняю ее в файл.например:
fig = figure;
ax1 = subplot(2, 1, 1);
ax2 = subplot(2, 1, 2);
ylabel(ax1, 'First');
ylabel(ax2, 'Second');
savefig('myfigure.fig')
Позже я хочу скопировать один из вспомогательных участков на новую фигуру без повторного запуска кода, который создает фигуру.Мой текущий подход состоит в том, чтобы загрузить сохраненную фигуру, найти оси, которые я хочу скопировать, по ее YLabel, а затем скопировать ее на новую фигуру:
newfig = figure;
oldfig = openfig('myfigure.fig');
ylabel_obj = findobj(oldfig, 'String', 'First'); % This is not givng me what I expect
old_axes_obj = ylabel_obj.Parent;
new_axes_obj = copyobj(old_axes_obj, newfig);
Проблема в том, что findobj
выше не находитYLabel.Он просто возвращает 0x0 пустой массив GraphicsPlaceholder.Почему findobj
не находит мою YLabel?Есть ли лучший способ найти оси, которые я хочу?