area

2D график заполненной области

Описание

пример

area(X,Y) строит графики значений на Y против x -координатов X. Затем функция заполняет области между кривыми на основе формы Y:

  • Если Y является вектором, график содержит одну кривую. area заполняет область между кривой и горизонтальной осью.

  • Если Y является матрицей, график содержит по одной кривой для каждого столбца в Y. area заполняет области между кривыми и складывает их, показывая относительный вклад каждого элемента в общую высоту на каждом x -согласованной.

пример

area(Y) графики Y против неявного набора x -кординатов и заполняет области между кривыми.

  • Если Y является вектором, x -координаты варьируются от 1 до length(Y).

  • Если Y является матрицей, x -координаты варьируются от 1 до количества строк в Y.

пример

area(___,basevalue) задает базовое значение для графика площади. basevalue соответствует горизонтальной базовой линии. area заполняет область, ограниченную кривыми и этой линией. Задайте basevalue как последний аргумент в любом из предыдущих синтаксисов.

пример

area(___,Name,Value) изменяет свойства графика площади, используя один или несколько аргументы пары "имя-значение". Свойства применяются ко всем отображаемым областям. Для примера, 'LineStyle','--' задает стиль штриховой линии для графика. Задайте пары "имя-значение" после всех аргументов в любом из предыдущих синтаксисов. Список свойств см. в разделе «Свойства участка».

пример

area(ax,___) отображает график площади в целевых осях. Задайте оси как первый аргумент в любом из предыдущих синтаксисов.

пример

a = area(___) возвращает один или несколько Area объекты. Количество объектов равно количеству нанесенных на график областей. Использование a для изменения свойств областей после их создания. Список свойств см. в разделе «Свойства участка».

Примеры

свернуть все

Создайте вектор с четырьмя значениями. Отображение значений на графике площади.

y = [1 5 6 3];
area(y)

Figure contains an axes. The axes contains an object of type area.

Создайте матричные Y. Затем отобразите значения в Y как график площади. Потому что Y содержит три столбца, area строит графики трех кривых и стекает их.

Y = [1 5 3; 3 2 7; 1 5 3; 2 6 1];
area(Y)

Figure contains an axes. The axes contains 3 objects of type area.

Определите x как вектор трех идентификаторов автосалона. Определите Y как матрица, содержащая количество проданных автомобилей на модель. Отображение значений в матрице на графике площади. Затем добавьте подписи по осям и легенду.

x = [10 11 12];
Y = [21.6 25.4; 70.8 66.1; 58.0 43.6];
area(x,Y)
xlabel('Dealership ID')
ylabel('Sales')
legend({'Model A','Model B'})

Figure contains an axes. The axes contains 2 objects of type area. These objects represent Model A, Model B.

Установите отметки деления вдоль оси X, чтобы соответствовать значениям в x.

ax = gca; % current axes
ax.XTick = x;

Figure contains an axes. The axes contains 2 objects of type area. These objects represent Model A, Model B.

Создайте матричные Y. Затем отобразите значения Y на графике области с базовым значением -4. area заполняет области, заданные кривыми и линией y = -4.

Y = [1 5 3; 3 2 7; 1 5 3; 2 6 1];
basevalue = -4;
area(Y,basevalue)

Figure contains an axes. The axes contains 3 objects of type area.

Создайте матричные Y. Отобразите значения Y на графике площади, где используется стиль пунктирной линии.

Y = [1 3 5; 3 2 7; 3 4 2];
area(Y,'LineStyle',':')

Figure contains an axes. The axes contains 3 objects of type area.

Создайте мозаику графика размещения в 'flow' расположение плитки, так что оси заполняют доступное пространство в размещении. Далее вызовите nexttile функция для создания Axes объект и вернуть его как ax1. Отображение графика площади путем прохождения ax1 на area функция.

tiledlayout('flow')
ax1 = nexttile;
Y1 = [3 6; 1 5; 7 2; 5 9];
area(ax1,Y1)

Figure contains an axes. The axes contains 2 objects of type area.

Повторите процесс, чтобы создать вторую Axes объект и второй график площади.

ax2 = nexttile;
Y2 = [4 2 11; 5 6 0; 1 7 2; 9 5 9];
area(ax2,Y2)

Figure contains 2 axes. Axes 1 contains 2 objects of type area. Axes 2 contains 3 objects of type area.

Создайте матричные Y. Затем создайте график площади, задав выходной аргумент при вызове area функция. В этом случае area возвращает вектор из трех Area объекты. Каждый объект соответствует другому столбцу Y.

Y = [2 3 4; 6 1 5; 7 4 9];
a = area(Y);

Figure contains an axes. The axes contains 3 objects of type area.

Измените вторую область зеленого цвета с помощью толстых красных ребер.

a(2).FaceColor = [0.2 0.6 0.5];
a(2).EdgeColor = [0.63 0.08 0.18];
a(2).LineWidth = 2;

Figure contains an axes. The axes contains 3 objects of type area.

Отображение графика площади с тремя кривыми.

area([1 5 3; 3 2 7; 1 5 3; 2 6 1])

Figure contains an axes. The axes contains 3 objects of type area.

Установите порядок цвета синий, фиолетовый и серый.

newcolors = [0 0.5 1; 0.5 0 1; 0.7 0.7 0.7];
colororder(newcolors)

Figure contains an axes. The axes contains 3 objects of type area.

Входные параметры

свернуть все

x -координаты, заданные как вектор или матрица. Размер и форма X зависят от формы данных и типа графика, который вы хотите создать. В этой таблице описываются наиболее распространенные ситуации.

Тип графикаКак задать координаты
Одна зона

Задайте X и Y как любая комбинация строки или векторов-столбцов той же длины. Для примера:

area([1 3 5],[9; 4; 6])
Задайте X как вектор увеличения значений. Если значения в X не увеличиваются, тогда area сортирует значения перед графическим изображением.

Сложенные области

area строит графики по одной заполненной области для каждого столбца Y и складывает области. Задайте Y как матрица и X как вектор-столбец с длиной, равной количеству строк в Y. Для примера:

area([1 2 3 4],[3 6; 1 5; 7 2; 5 9])
Если значения в X не увеличиваются, тогда area сортирует значения перед графическим изображением.

Можно также задать X как матрица с таким же размером, как и Y. Чтобы избежать неожиданного выхода при X является матрицей, задайте X с одинаковыми столбцами.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical | datetime | duration

y -координаты, заданные как вектор или матрица. Размер и форма Y зависят от формы данных и типа графика, который вы хотите создать. В этой таблице описываются возможные ситуации.

Тип графикаКак задать координаты
Одна зона

Задайте X и Y как любая комбинация строки или векторов-столбцов той же длины. Для примера:

area([1 3 5],[9; 4; 6])
Задайте X как вектор увеличения значений. Если значения в X не увеличиваются, тогда area сортирует значения перед графическим изображением.

Сложенные области

area строит графики по одной заполненной области для каждого столбца Y и складывает области. Задайте Y как матрица и X как вектор-столбец с длиной, равной количеству строк в Y. Для примера:

area([1 2 3 4],[3 6; 1 5; 7 2; 5 9])
Если значения в X не увеличиваются, тогда area сортирует значения перед графическим изображением.

Можно также задать X как матрица с таким же размером, как и Y. Чтобы избежать неожиданного выхода при X является матрицей, задайте X с одинаковыми столбцами.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | duration

Базовое значение, заданное как числовой скаляр. Значение базовой линии задает y -координат горизонтальной базовой линии. area заполняет область, ограниченную кривыми данных и этой базовой линией.

Целевые оси, заданные как Axes объект. Если вы не задаете оси, то area отображение графика в текущей системе координат.

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: area([1 2 3],'FaceColor','r') задает красный цвет заливки для области.

Примечание

Перечисленные здесь свойства являются только подмножеством. Полный список см. в разделе Свойств участка».

Цвет заливки области, заданный как триплет RGB, шестнадцатеричный код цвета, название цвета или 'flat'.

Начиная с R2017b, значение по умолчанию является триплетом RGB от ColorOrder свойство осей. В предыдущих релизах значение по умолчанию было 'flat' и цвета были основаны на палитре.

Для пользовательского цвета укажите триплет RGB или шестнадцатеричный код цвета.

  • Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должна быть в области значений [0,1]; для примера, [0.4 0.6 0.7].

  • Шестнадцатеричный код цвета - это вектор символов или строковый скаляр, который начинается с хэш-символа (#), за которым следуют три или шесть шестнадцатеричных цифр, которые могут варьироваться от 0 на F. Значения не зависят от регистра. Таким образом, цветовые коды '#FF8800', '#ff8800', '#F80', и '#f80' являются эквивалентными.

Кроме того, вы можете задать имена некоторых простых цветов. В этой таблице перечислены именованные опции цвета, эквивалентные триплеты RGB и шестнадцатеричные цветовые коды.

Название цветаКраткое имяТриплет RGBШестнадцатеричный цветовой кодВнешность
'red''r'[1 0 0]'#FF0000'

'green''g'[0 1 0]'#00FF00'

'blue''b'[0 0 1]'#0000FF'

'cyan' 'c'[0 1 1]'#00FFFF'

'magenta''m'[1 0 1]'#FF00FF'

'yellow''y'[1 1 0]'#FFFF00'

'black''k'[0 0 0]'#000000'

'white''w'[1 1 1]'#FFFFFF'

'none'Не применяетсяНе применяетсяНе применяетсяНет цвета

Вот триплеты RGB и шестнадцатеричные цветовые коды для цветов по умолчанию MATLAB® использует на многих типах графиков.

Триплет RGBШестнадцатеричный цветовой кодВнешность
[0 0.4470 0.7410]'#0072BD'

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

Цвет контура области, заданный как триплет RGB, шестнадцатеричный код цвета, название цвета или 'flat'. Установка этого свойства следующим 'flat' использует цвета палитры.

Для пользовательского цвета укажите триплет RGB или шестнадцатеричный код цвета.

  • Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должна быть в области значений [0,1]; для примера, [0.4 0.6 0.7].

  • Шестнадцатеричный код цвета - это вектор символов или строковый скаляр, который начинается с хэш-символа (#), за которым следуют три или шесть шестнадцатеричных цифр, которые могут варьироваться от 0 на F. Значения не зависят от регистра. Таким образом, цветовые коды '#FF8800', '#ff8800', '#F80', и '#f80' являются эквивалентными.

Кроме того, вы можете задать имена некоторых простых цветов. В этой таблице перечислены именованные опции цвета, эквивалентные триплеты RGB и шестнадцатеричные цветовые коды.

Название цветаКраткое имяТриплет RGBШестнадцатеричный цветовой кодВнешность
'red''r'[1 0 0]'#FF0000'

'green''g'[0 1 0]'#00FF00'

'blue''b'[0 0 1]'#0000FF'

'cyan' 'c'[0 1 1]'#00FFFF'

'magenta''m'[1 0 1]'#FF00FF'

'yellow''y'[1 1 0]'#FFFF00'

'black''k'[0 0 0]'#000000'

'white''w'[1 1 1]'#FFFFFF'

'none'Не применяетсяНе применяетсяНе применяетсяНет цвета

Вот триплеты RGB и шестнадцатеричные цветовые коды для цветов по умолчанию, которые MATLAB использует во многих типах графиков.

Триплет RGBШестнадцатеричный цветовой кодВнешность
[0 0.4470 0.7410]'#0072BD'

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

Стиль линии, заданный как одно из опций, перечисленных в этой таблице.

Стиль линииОписаниеРезультирующая линия
'-'Сплошная линия

'--'Штриховая линия

':'Пунктирная линия

'-.'Штрих-пунктирная линия

'none'Нет линииНет линии

Ширина контура области, заданная в виде скалярного числового значения в модули точки. Одна точка равна 1/72 дюйма.

Пример: 1.5

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Совет

  • area использует цвета на основе ColorOrder свойство осей. Он переходит через все цвета, а затем повторяет цикл, если вы строите больше заполненных областей, чем есть цветов.

    Начиная с R2019b, вы можете изменить цвета после графического изображения, установив ColorOrder свойство на осях. Можно также вызвать функцию colororder функция для изменения порядка цвета для всех осей на рисунке.

Расширенные возможности

Представлено до R2006a