MATLAB Language
Графика: 2D-линии
Поиск…
Синтаксис
участок (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 для настройки свойств линии |
час | обрабатывать графический объект |
замечания
Несколько строк в одном сюжете
В этом примере мы собираемся построить несколько строк на одну ось. Кроме того, мы выбираем внешний вид линий и создаем легенду.
% 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 чередуется с различными цветами и разными стилями линий, используя цвет как наиболее часто используемый атрибут.