exponenta event banner

бар

Описание

пример

bar(y) создает гистограмму с одной шиной для каждого элемента в y. Если y является матрицей m-by-n, то bar создает m групп из n полос.

пример

bar(x,y) рисует полосы в местах, указанных x.

пример

bar(___,width) задает относительную ширину полосы, которая управляет разделением полос внутри группы. Определить width как скалярное значение. Используйте эту опцию с любой из комбинаций входных аргументов в предыдущих синтаксисах.

пример

bar(___,style) определяет стиль групп полос. Например, использовать 'stacked' для отображения каждой группы в виде одной разноцветной полосы.

пример

bar(___,color) задает цвет для всех полос. Например, использовать 'r' для красных полос.

пример

bar(___,Name,Value) задает свойства гистограммы, используя один или несколько аргументов пары имя-значение. Только гистограммы, использующие значения по умолчанию 'grouped' или 'stacked' свойства панели параметров поддержки стилей. Укажите аргументы пары имя-значение после всех других входных аргументов. Список свойств см. в разделе Свойства панели.

пример

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

пример

b = bar(___) возвращает один или несколько Bar объекты. Если y является вектором, то bar создает один Bar объект. Если y является матрицей, то bar возвращает Bar объект для каждой серии. Использовать b для установки свойств полос после отображения гистограммы.

Примеры

свернуть все

y = [75 91 105 123.5 131 150 179 203 226 249 281.5];
bar(y)

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

Укажите расположение полос вдоль оси X.

x = 1900:10:2000;
y = [75 91 105 123.5 131 150 179 203 226 249 281.5];
bar(x,y)

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

Задайте ширину каждой панели, равную 40 процентам от общего пространства, доступного для каждой панели.

y = [75 91 105 123.5 131 150 179 203 226 249 281.5];
bar(y,0.4)

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

Отображение четырех групп из трех полос.

y = [2 2 3; 2 5 6; 2 8 9; 2 11 12];
bar(y)

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

Отображение одной строки для каждой строки матрицы. Высота каждой полосы представляет собой сумму элементов в строке.

y = [2 2 3; 2 5 6; 2 8 9; 2 11 12];
bar(y,'stacked')

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

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

x = [1980 1990 2000];
y = [15 20 -5; 10 -17 21; -10 5 15];
bar(x,y,'stacked')

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

Одним из способов указания категорий для столбцов является определение X как категориальный массив. bar функция использует отсортированный список категорий, поэтому полосы могут отображаться в порядке, отличном от ожидаемого. Чтобы сохранить заказ, вызовите reordercats функция.

Определить X в виде категориального массива и вызовите reordercats для указания порядка для полос. Затем определите Y в качестве вектора высот полос и отображения гистограммы.

X = categorical({'Small','Medium','Large','Extra Large'});
X = reordercats(X,{'Small','Medium','Large','Extra Large'});
Y = [10 21 33 52];
bar(X,Y)

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

Определить vals в виде матрицы, содержащей значения двух наборов данных. Отображение значений на гистограмме и указание выходного аргумента. Поскольку существует два набора данных, bar возвращает вектор, содержащий два Bar объекты.

x = [1 2 3];
vals = [2 3 6; 11 23 26];
b = bar(x,vals);

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

Отображение значений в кончиках первой серии полос. Получить координаты наконечников полос, получив XEndPoints и YEndPoints свойства первого Bar объект. Передайте эти координаты в text и укажите вертикальное и горизонтальное выравнивание таким образом, чтобы значения центрировались над вершинами полос.

xtips1 = b(1).XEndPoints;
ytips1 = b(1).YEndPoints;
labels1 = string(b(1).YData);
text(xtips1,ytips1,labels1,'HorizontalAlignment','center',...
    'VerticalAlignment','bottom')

Figure contains an axes. The axes contains 5 objects of type bar, text.

Затем отобразите значения над подсказками второй серии полос.

xtips2 = b(2).XEndPoints;
ytips2 = b(2).YEndPoints;
labels2 = string(b(2).YData);
text(xtips2,ytips2,labels2,'HorizontalAlignment','center',...
    'VerticalAlignment','bottom')

Figure contains an axes. The axes contains 8 objects of type bar, text.

Начиная с R2019b, можно отобразить мозаику гистограмм с помощью tiledlayout и nexttile функции. Позвоните в tiledlayout для создания компоновки мозаичной диаграммы «2 на 1». Позвоните в nexttile для создания объектов осей ax1 и ax2. Отображение гистограммы в верхних осях. В нижних осях отобразите сложенную гистограмму тех же данных.

y = [1 2 3; 4 5 6];
tiledlayout(2,1)

% Top bar graph
ax1 = nexttile;
bar(ax1,y)

% Bottom bar graph
ax2 = nexttile;
bar(ax2,y,'stacked')

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

Создание гистограммы с помощью красных гистограмм.

y = [75 91 105 123.5 131 150 179 203 226 249 281.5];
bar(y,'r')

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

Задайте цвет интерьера и контура панели с помощью триплетов RGB. Задайте ширину контура полосы.

y = [75 91 105 123.5 131 150 179 203 226 249 281.5];
bar(y,'FaceColor',[0 .5 .5],'EdgeColor',[0 .9 .9],'LineWidth',1.5)

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

Управление отдельными цветами полос с помощью CData имущества Bar объект.

Создайте гистограмму и назначьте Bar объект переменной. Установите FaceColor имущества Bar объект в 'flat' чтобы диаграмма использовала цвета, определенные в CData собственность. По умолчанию CData предварительно заполняется матрицей значений цвета RGB по умолчанию. Чтобы изменить определенный цвет, измените соответствующую строку в матрице. Например, измените цвет второй полосы.

b = bar(rand(10,1));
b.FaceColor = 'flat';
b.CData(2,:) = [.5 0 .5];

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

Создайте гистограмму, использующую цвета карты цветов, установив FaceColor свойство для 'flat'. Затем установите CData свойство для каждого Bar объект к целому числу.

y = [1 3 5; 3 2 7; 3 4 2];
b = bar(y,'FaceColor','flat');
for k = 1:size(y,2)
    b(k).CData = k;
end

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

Создать матрицу y, где каждый столбец представляет собой последовательность данных. Позвоните в bar для отображения данных в гистограмме и указания выходного аргумента. Выходной сигнал является вектором из трех Bar объекты, где каждый объект соответствует различным сериям. Это верно независимо от того, сгруппированы или сложены полосы.

y = [10 15 20; 30 35 40; 50 55 62];
b = bar(y);

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

Сделайте третью серию брусков зеленой.

b(3).FaceColor = [.2 .6 .5];

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

Входные аргументы

свернуть все

x-координаты, заданные как скаляр, вектор или матрица. Значения x не обязательно быть в порядке, но размер x зависит от размера y а также способ отображения данных. В этой таблице описаны наиболее распространенные ситуации.

ПредставлениеУказание X и YПример
Отображение одной серии полос.

Определить x и y как векторы одинаковой длины. Значения в x должны быть уникальными, но значения в y не обязательно быть уникальным.

x = [1980 1990 2000];
y = [10 20 30];
bar(x,y)

Отображение нескольких серий полос в группах.

Укажите одну из следующих комбинаций:

  • Определить x и y в виде матриц одинакового размера. Каждый столбец y соответствует ряду полос. По умолчанию каждая серия имеет свой цвет. Чтобы обеспечить непротиворечивое размещение групп, укажите столбцы x как идентичные векторы. Значения в столбце должны быть уникальными, даже если столбцы повторяются.

  • Определить x в качестве вектора уникальных значений и указать y в виде матрицы. Длина x должна равняться длине хотя бы одного размера y. Другое измерение y содержит значения для различных серий столбцов.

x = [1980 1980 1980
     1990 1990 1990];
y = [2 6 9
    11 22 32];
bar(x,y)
Или
x = [1980 1990];
y = [2 6 9
    11 22 32];
bar(x,y)

Отображение одной группы стержней с центром на одной x значение.

Определить x как скаляр и y как вектор.

x = 1990;
y = [10 20 30];
bar(x,y)

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

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

ПредставлениеУказание X и YПример
Отображение одной серии полос.

Определить x и y как векторы одинаковой длины. Значения в x должны быть уникальными, но значения в y не обязательно быть уникальным.

x = [1980 1990 2000];
y = [10 20 30];
bar(x,y)

Отображение нескольких серий полос в группах.

Укажите одну из следующих комбинаций:

  • Определить x и y в виде матриц одинакового размера. Каждый столбец y соответствует ряду полос. По умолчанию каждая серия имеет свой цвет. Чтобы обеспечить непротиворечивое размещение групп, укажите столбцы x как идентичные векторы. Значения в столбце должны быть уникальными, даже если столбцы повторяются.

  • Определить x в качестве вектора уникальных значений и указать y в виде матрицы. Длина x должна равняться длине хотя бы одного размера y. Другое измерение y содержит значения для различных серий столбцов.

x = [1980 1980 1980
     1990 1990 1990];
y = [2 6 9
    11 22 32];
bar(x,y)
Или
x = [1980 1990];
y = [2 6 9
    11 22 32];
bar(x,y)

Отображение одной группы стержней с центром на одной x значение.

Определить x как скаляр и y как вектор.

x = 1990;
y = [10 20 30];
bar(x,y)

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

Ширина полосы, заданная как доля от общего пространства, доступного для каждой полосы. Значение по умолчанию 0.8 означает, что ширина полосы составляет 80% пространства от предыдущей полосы до следующей полосы, причем 10% этого пространства находится с каждой стороны.

Если ширина равна 1затем полосы внутри группы касаются друг друга.

Пример: bar([1 2 3],0.5) создает полосы, использующие 50% доступного пространства.

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

Стиль группы, заданный одним из этих значений.

СтильРезультатПример

'grouped'

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

'stacked'

Отображение каждой группы в виде одной разноцветной полосы. Длина полосы - это сумма элементов в группе.

Если y является вектором, то результат тот же, что и 'grouped'.

'histc'

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

Примечание

Лучшим способом отображения гистограммы является вызов histogram функция.

'hist'

Отображение полос в формате гистограммы. Каждая группа центрируется в соответствующей x значение.

Примечание

Лучшим способом отображения гистограммы является вызов histogram функция.

Цвет полосы, указанный как один из цветов в этой таблице.

ЦветЦвет
'b'Синий
'r'Красный
'g'Зеленый
'c'Голубой
'm'Пурпурный
'y'Желтый
'k'Черный
'w'Белый

Объект Axes. Если оси не указаны, то bar использует текущие оси для гистограммы.

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

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

Пример: bar([10 20 30],'EdgeColor','g') задает зеленый контур вокруг полос.

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

Примечание

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

  • Эти свойства можно задавать только на гистограммах по умолчанию 'grouped' или 'stacked' стиль.

Цвет контура, указанный как 'flat', триплет RGB, шестнадцатеричный цветовой код, имя цвета или короткое имя. Если имеется не более 150 столбцов, значение по умолчанию: [0 0 0], что соответствует чёрному. При наличии более 150 смежных полос значением по умолчанию является 'none'.

Начиная с R2017b, 'flat' параметр использует CData значения для окрашивания кромок. В предыдущих выпусках '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'

Пример: b = bar(1:10,'EdgeColor','red')

Пример: b.EdgeColor = [0 0.5 0.5];

Пример: b.EdgeColor = 'flat';

Пример: b.EdgeColor = '#D2F9A7';

Цвет заливки, указанный как 'flat', триплет RGB, шестнадцатеричный цветовой код, имя цвета или короткое имя. 'flat' параметр использует CData значение свойства Bar объект для окрашивания граней.

Для пользовательского цвета укажите триплет 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'

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

Пример: b = bar(1:10,'FaceColor','red')

Пример: b.FaceColor = [0 0.5 0.5];

Пример: b.FaceColor = 'flat';

Пример: b.FaceColor = '#D2F9A7';

Цветовые данные, указанные как одно из следующих значений:

  • Триплет RGB - значение одного цвета RGB применяется ко всем полосам.

  • Матрица из трех столбцов - по одному цвету на полосу. Каждая строка в матрице определяет триплет RGB для определенной полосы.

  • Скаляр (Scalar) - один цвет применяется ко всем полосам, где цвет берется из карты цветов.

  • Вектор - один цвет на полосу. Цвета берутся из карты цветов.

По умолчанию при создании гистограммы CData содержит трехколонную матрицу RGB-триплетов. Цвет для определенной полосы можно изменить, изменив соответствующую строку в матрице.

Это свойство применяется только в том случае, если FaceColor или EdgeColor свойство имеет значение 'flat'.

Пример

Изменение цвета для определенной панели путем установки параметра FaceColor свойство для 'flat'. Затем измените соответствующую строку в CData в новый триплет RGB. Например, измените цвет второй полосы.

b = bar(1:10,'FaceColor','flat');
b.CData(2,:) = [0 0.8 0.8];

Базовое значение, указанное как числовое скалярное значение.

Указанное значение базовой линии применяется к оси X или оси Y в зависимости от ориентации гистограммы. При изменении ориентации гистограммы с вертикальной на горизонтальную или наоборот значение базовой линии может измениться. Установите BaseValue после установки Horizontal собственность.

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

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

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

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

'-.'Пунктирная линия

'none'Без строкиБез строки

Ширина штриховых контуров, заданная как положительное значение в единицах измерения точек. Одна точка равна 1/72 дюйма.

Пример: 1.5

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

Выходные аргументы

свернуть все

Bar объекты. Использовать элементы в b для доступа и изменения свойств определенного Bar после создания объекта. Количество Bar объекты зависят от размера y. Если y является вектором, то b является одним Bar объект. Если y является матрицей, то b является вектором, содержащим Bar объект для каждой серии в y.

Подробнее

свернуть все

Серия брусьев

Серия состоит из полос во всех местах в X для определенного набора данных. По умолчанию каждая серия полос обозначается различным цветом.

Группа стержней

Группа состоит из всех полос в определенном месте в X.

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

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