Как я могу загружать и выгружать фигуры в ось приложения Matlab? - PullRequest
1 голос
/ 01 октября 2019

В настоящее время у меня есть файл .m, который создает тонну цифр. В настоящее время он выводит эти цифры в powerpoint, один слайд на одну фигуру, но я бы предпочел что-то более удобное для пользователя. Я хотел бы использовать приложение с дизайнером приложений для этого, но я не могу понять, как сделать так, чтобы фигуры появлялись внутри графического интерфейса.

Моя цель: иметь выпадающий список с левой стороны графического интерфейса, который позволяет выбрать заголовок фигуры, и тогда эта фигура появится на больших осях с правой стороны графического интерфейса.

Код в настоящее время закрывает каждую фигуру после сохранения, но это можно изменить при необходимости.

Кто-нибудь может мне помочь с этим? Это вообще возможно?

1 Ответ

0 голосов
/ 02 октября 2019

Не полный ответ, но некоторые указания о том, как загрузить созданные .fig файлы и скопировать оси в uipanel.

Сначала создайте фигуру:

f1 = figure();
subplot(211)
imagesc(rand(100));
subplot(212)
plot(rand(100,1))

saveas(f1, 'figure1.fig')

А затем загрузите эту фигуру в графический интерфейс. Очень простой пример GUI:

fig = uifigure;
fig.Position = [100 100 800 600]
pan1 = uipanel(fig, 'Title', 'Figure', 'Position',[0 0 600 600])
pan2 = uipanel(fig, 'Title', 'Select Figure', 'Position',[600 0 200 600])

f_new = openfig('figure1.fig', 'invisible'); % load 'invisible' so it doesn't popup
ax_to_copy = f_new.Children;  % works even with subplots!

% and copy the loaded axes to the uipanel:
copyobj(ax_to_copy, pan1)

Результат:

enter image description here enter image description here

...