Как создать новую фигуру в MATLAB?

обычно, когда я строю в MATLAB, Он всегда рисует на одной и той же фигуре. Как заставить его нарисовать новую фигуру?

Я знаю, что это довольно элементарно, но я не нахожу его с помощью поиска Google.

6 ответов


figure;
plot(something);

или

figure(2);
plot(something);
...
figure(3);
plot(something else);
...

etc.


при выполнении " Рисунок (1), Рисунок(2),..."в большинстве случаев проблема будет решена,но не во всех случаях. Предположим, у вас есть куча фигур MATLAB на рабочем столе, и сколько у вас открыто, время от времени меняется перед запуском кода. Используя предоставленные ответы, вы перепишете эти цифры, которые вам могут не понадобиться. Легкий обходной путь-просто использовать команду "рисунок" перед построением графика.

пример: у вас есть пять цифр на рабочем столе с предыдущий скрипт вы запустили и используете

figure(1);
plot(...)

figure(2);
plot(...)

вы только что нанесли цифры на рабочий стол. Однако код

figure;
plot(...)

figure;
plot(...)

просто создал рисунки 6 и 7 с желаемыми сюжетами и оставил ваши предыдущие сюжеты 1-5 в покое.


другое дело, чтобы быть осторожным, это использовать (очистить рисунок) при запуске нового графика. В противном случае вы можете строить график на уже существующей фигуре (невозможно с помощью 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)]);

в Примере задается имя окна и его внешний размер по отношению к используемому экрану. Вот!--5--> ручка к приводя диаграмме и может быть использована более поздно для того чтобы изменить возникновение и содержание. Примеры:

точечная нотация:

figHandle.PaperOrientation = 'portrait';
figHandle.PaperUnits = 'centimeters';

Старый Стиль:

set(figHandle, 'PaperOrientation', 'portrait', 'PaperUnits', 'centimeters');

использование ручки с точечной нотацией или set параметры печати настраиваются здесь.

сохраняя ручки для фигур с именами distinc, вы можете взаимодействовать с несколькими активными фигурами. Чтобы установить существующую фигуру в качестве активной, вызовите figure(figHandle). Теперь туда пойдут новые участки.


Другой распространенный вариант-когда вы хотите построить несколько графиков в одном окне

f = figure;
hold on
plot(x1,y1)
plot(x2,y2)
...

отображает несколько наборов данных на одном (новом) рисунке.


Как просто, как это-

figure, plot(yourfigure);