Как создать новую фигуру в MATLAB?
Вопрос
Обычно, когда я рисую МАТЛАБ, он всегда рисует одну и ту же фигуру.Как мне заставить его нарисовать новую фигуру?
Я знаю, что это довольно элементарно, но я не могу найти его с помощью поиска Google.
Решение
figure;
plot(something);
или
figure(2);
plot(something);
...
figure(3);
plot(something else);
...
и т. д.
Другие советы
Выполняя " рисунок (1), рисунок (2), ... " решит проблему в большинстве случаев, не решит их во всех случаях. Предположим, у вас на рабочем столе куча цифр MATLAB, и сколько у вас открытых, время от времени меняется, прежде чем вы запустите свой код. Используя предоставленные ответы, вы перезапишете эти цифры, которые вам могут не понадобиться. Простой обходной путь - просто использовать команду " figure " прежде чем строить сюжет.
Пример: у вас на рабочем столе пять фигур из предыдущего скрипта, который вы запустили, и вы используете
figure(1);
plot(...)
figure(2);
plot(...)
Вы только что нарисовали фигуры на рабочем столе. Однако код
figure;
plot(...)
figure;
plot(...)
только что создали рисунки 6 и 7 с вашими желаемыми графиками и оставили свои предыдущие графики 1-5 в одиночку.
Еще одна вещь, о которой следует быть осторожным, это использовать команду clf
(понятный рисунок) при запуске нового графика. В противном случае вы можете строить графики на уже существующей фигуре (это невозможно с помощью самой команды figure
, но если вы выполните figure (2)
, возможно, уже есть фигура # 2), с более чем одной осью или осью, которая размещена довольно забавно. Используйте clf
, чтобы убедиться, что вы начинаете с нуля:
figure(N);
clf;
plot(something);
...
Как уже было сказано: figure
создаст новую фигуру для ваших следующих сюжетов.Во время звонка figure
вы также можете настроить его.Пример:
figHandle = figure('Name', 'Name of Figure', 'OuterPosition',[1, 1, scrsz(3), scrsz(4)]);
В примере задается имя окна и его внешний размер по отношению к используемому экрану.Здесь figHandle
— это дескриптор полученной фигуры, который можно использовать позже для изменения внешнего вида и содержимого.Примеры:
Обозначение через точку:
figHandle.PaperOrientation = 'portrait';
figHandle.PaperUnits = 'centimeters';
Старый стиль:
set(figHandle, 'PaperOrientation', 'portrait', 'PaperUnits', 'centimeters');
Использование дескриптора с точечной записью или set
, здесь настраиваются параметры печати.
Сохраняя маркеры фигур с разными именами, вы можете взаимодействовать с несколькими активными фигурами.Чтобы установить существующую фигуру в качестве активной, позвоните figure(figHandle)
.Теперь туда пойдут новые участки.
Другой распространенный вариант - когда вам нужно несколько графиков в одном окне
f = figure;
hold on
plot(x1,y1)
plot(x2,y2)
...
отображает несколько наборов данных на одном (новом) рисунке.
Как все просто -
figure, plot(yourfigure);