Поиск…


Синтаксис

  • участок (Y)

  • участок (Y, указатель строки)

  • участок (X, Y)

  • участок (X, Y, указатель строки)

  • график (X1, Y1, X2, Y2, ..., Xn, Yn)

  • (X1, Y1, LineSpec1, X2, Y2, LineSpec2, ..., Xn, Yn, LineSpecn)

  • plot (___, Name, Value)

  • h = график (___)

параметры

параметр подробности
Икс х-значение
Y у-значения
указатель строки Стиль линии, символ маркера и цвет, указанный в виде строки
Name, Value Необязательные пары аргументов name-value для настройки свойств линии
час обрабатывать графический объект

замечания

http://www.mathworks.com/help/matlab/ref/plot.html

Несколько строк в одном сюжете

В этом примере мы собираемся построить несколько строк на одну ось. Кроме того, мы выбираем внешний вид линий и создаем легенду.

% create sample data
x = linspace(-2,2,100);                 % 100 linearly spaced points from -2 to 2
y1 = x.^2;
y2 = 2*x.^2;
y3 = 4*x.^2;

% create plot
figure;                                 % open new figure
plot(x,y1, x,y2,'--', x,y3,'-.');       % plot lines
grid minor;                             % add minor grid
title('Quadratic functions with different curvatures');
xlabel('x');
ylabel('f(x)');
legend('f(x) = x^2', 'f(x) = 2x^2', 'f(x) = 4x^2', 'Location','North');

В приведенном выше примере мы построили линии с помощью одной команды- plot . Альтернативой является использование отдельных команд для каждой строки. Нам нужно удерживать содержимое фигуры с hold on последней, прежде чем добавить вторую строку. В противном случае ранее построенные линии исчезнут из рисунка. Чтобы создать тот же сюжет, что и выше, мы можем использовать следующие команды:

figure; hold on;
plot(x,y1);
plot(x,y2,'--');
plot(x,y3,'-.');

Полученная фигура выглядит так в обоих случаях:

пример вывода

Разделительная линия с NaN

Перемешивайте свои значения y или x с помощью NaNs

x = [1:5; 6:10]';

x(3,2) = NaN
x =
     1     6
     2     7
     3   NaN
     4     9
     5    10

plot(x)

введите описание изображения здесь

Пользовательские заказы цветов и линий

В MATLAB мы можем установить новые пользовательские заказы по умолчанию , такие как порядок цветов и порядок стиля линии. Это означает, что новые заказы будут применены к любой фигуре, созданной после применения этих параметров. Новые настройки сохраняются до тех пор, пока сеанс MATLAB не будет закрыт или не будут выполнены новые настройки.

Цвет по умолчанию и стиль линии

По умолчанию MATLAB использует несколько разных цветов и только сплошной стиль линии. Поэтому, если plot вызывается для рисования нескольких строк, MATLAB чередует цветный порядок, чтобы рисовать линии разных цветов.

введите описание изображения здесь

Мы можем получить порядок цветов по умолчанию, вызвав get с глобальным дескриптором 0 за которым следует этот атрибут DefaultAxesColorOrder :

>> get(0, 'DefaultAxesColorOrder')
ans =
         0    0.4470    0.7410
    0.8500    0.3250    0.0980
    0.9290    0.6940    0.1250
    0.4940    0.1840    0.5560
    0.4660    0.6740    0.1880
    0.3010    0.7450    0.9330
    0.6350    0.0780    0.1840

Пользовательский порядок цветов и линий

После того, как мы решили установить пользовательский порядок порядка цветов и стиль линии, MATLAB должен чередовать оба. Первое изменение MATLAB применяется в цвете. Когда все цвета исчерпаны, MATLAB применяет следующий стиль линии из определенного порядка стиля линии и устанавливает индекс цвета на 1. Это означает, что MATLAB начнет чередовать все цвета снова, но используя следующий стиль линии в своем порядке. Когда все стили линий и цвета исчерпаны, очевидно, что MATLAB начинает цикл с самого начала, используя первый цвет и стиль первой линии.

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

F = @(a,x) bsxfun(@plus, -0.2*x(:).^2, a);
x = (-5:5/100:5-5/100)';

Чтобы установить новый цвет или новые порядки стиля линии, мы вызываем функцию set с глобальным дескриптором 0 за которым следует атрибут DefaultAxesXXXXXXX ; XXXXXXX может быть либо ColorOrder либо LineStyleOrder . Следующая команда устанавливает новый порядок цветов в черный, красный и синий соответственно:

set(0, 'DefaultAxesColorOrder', [0 0 0; 1 0 0; 0 0 1]);
plot(x, F([1 2 3 4 5 6],x));

введите описание изображения здесь

Как вы можете видеть, MATLAB чередуется только через цвета, потому что порядок строкового стиля по умолчанию задан сплошной линией. Когда набор цветов исчерпан, MATLAB начинается с первого цвета в цветовом порядке.

Следующие команды задают как цветные, так и строковые порядки:

set(0, 'DefaultAxesColorOrder', [0 0 0; 1 0 0; 0 0 1]);
set(0, 'DefaultAxesLineStyleOrder', {'-' '--'});
plot(x, F([1 2 3 4 5 6],x));

введите описание изображения здесь

Теперь MATLAB чередуется с различными цветами и разными стилями линий, используя цвет как наиболее часто используемый атрибут.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow