Вопрос

Обычно, когда я рисую МАТЛАБ, он всегда рисует одну и ту же фигуру.Как мне заставить его нарисовать новую фигуру?

Я знаю, что это довольно элементарно, но я не могу найти его с помощью поиска 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);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top