barh

Горизонтальный столбчатый график

  • Horizontal bar graph

Описание

пример

barh(y) создает горизонтальный столбчатый график с одной панелью для каждого элемента в y. Если y m-by-n матрица, затем barh создает группы m панелей n.

пример

barh(x,y) чертит панели вдоль вертикальной оси в местоположениях, заданных x.

пример

barh(___,width) задает часть свободного места, занятого каждой панелью. Например, barh(y,1) заставляет панели в каждой группе коснуться друг друга. Задайте width в качестве последнего аргумента в любом из предыдущих синтаксисов.

пример

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

пример

barh(___,color) задает один цвет для всех панелей. Например, barh(y,'red') отображения красные панели.

пример

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

пример

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

пример

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

Примеры

свернуть все

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

y = [10 20 30 41];
barh(y)

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

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

x = [1980 1990 2000];
y = [40 50 63 52; 42 55 50 48; 30 20 44 40];
barh(x,y)
xlabel('Snowfall')
ylabel('Year')
legend({'Springfield','Fairview','Bristol','Jamesville'})

Figure contains an axes object. The axes object contains 4 objects of type bar. These objects represent Springfield, Fairview, Bristol, Jamesville.

Создайте матричный y. Затем отобразите значения y в столбчатом графике с базовым значением 25. Значения, которые меньше 25 отобразитесь на левой стороне базовой линии.

y = [8 15 33; 30 35 40; 50 55 62];
barh(y,'BaseValue',25)

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

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

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

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

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

y = [10 20 30 41];
barh(y)
yticklabels({'April','May','June','July'})

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

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

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

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

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

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

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

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

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

xtips1 = b(1).YEndPoints + 0.3;
ytips1 = b(1).XEndPoints;
labels1 = string(b(1).YData);
text(xtips1,ytips1,labels1,'VerticalAlignment','middle')

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

Затем выполните те же шаги, чтобы отобразить метки в советах второй серии панелей.

xtips2 = b(2).YEndPoints + 0.3;
ytips2 = b(2).XEndPoints;
labels2 = string(b(2).YData);
text(xtips2,ytips2,labels2,'VerticalAlignment','middle')

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

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

y = [10 22 30 42];
width = 0.4;
barh(y,width,'red');

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

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

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

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

Измените вторую серию панелей, чтобы быть зелеными с толстыми красными ребрами.

b(2).FaceColor = [.2 .6 .5];
b(2).EdgeColor = [.63 .08 .18];
b(2).LineWidth = 2;

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

Создайте и отобразите данные в двух различных столбчатых графиках с помощью 'grouped' по умолчанию разработайте и 'stacked' стиль.

x = [1980 1990 2000];
y = [8 15 25; 30 35 40; 50 55 62];

% Grouped
tiledlayout(2,1);
ax1 = nexttile;
barh(ax1,x,y)
title('Grouped Style')

% Stacked
ax2 = nexttile;
barh(ax2,x,y,'stacked')
title('Stacked Style')

Figure contains 2 axes objects. Axes object 1 with title Grouped Style contains 3 objects of type bar. Axes object 2 with title Stacked Style contains 3 objects of type bar.

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

свернуть все

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

ПредставлениеКак задать X и YПример
Отобразите одну серию панелей.

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

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

Horizontal bar chart containing one series of bars. One blue bar is displayed at each location in x.

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

Задайте любую из этих комбинаций:

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

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

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

Horizontal bar chart containing three series of bars. Each location in x has a group of three bars. The first bar in each group is dark blue, the second bar is dark orange, and the third bar is dark yellow.

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

Задайте x как скаляр и y как вектор.

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

Horizontal bar chart containing one group of bars at the specified x location. The first bar is dark blue, the second bar is dark orange, and the third bar is dark yellow.

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

Длины панели в виде скаляра, вектора или матрицы. Размер y зависит от размера x и как вы хотите отобразить свои данные. Эта таблица описывает наиболее распространенные ситуации.

ПредставлениеКак задать X и YПример
Отобразите одну серию панелей.

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

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

Horizontal bar chart containing one series of bars. One blue bar is displayed at each location in x.

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

Задайте любую из этих комбинаций:

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

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

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

Horizontal bar chart containing three series of bars. Each location in x has a group of three bars. The first bar in each group is dark blue, the second bar is dark orange, and the third bar is dark yellow.

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

Задайте x как скаляр и y как вектор.

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

Horizontal bar chart containing one series of bars. One blue bar is displayed at each location in x.

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

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

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

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

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

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

'grouped'

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

Horizontal bar chart containing three series of bars. Each location in x has a group of three bars. The first bar in each group is dark blue, the second bar is dark orange, and the third bar is dark yellow.

'stacked'

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

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

Horizontal bar chart containing three series of bars that are stacked. Each location in x has one bar that has three different colored sections.

'histc'

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

Примечание

Лучший способ отобразить горизонтальную гистограмму состоит в том, чтобы вызвать histogram функционируйте и задайте Orientation аргумент пары "имя-значение".

Horizontal bar chart containing four series of bars in the histogram format. Each location in x has a group of four bars. The first bar in each group is dark blue, the second bar light blue, the third bar is green, and the fourth bar is yellow.

'hist'

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

Примечание

Лучший способ отобразить горизонтальную гистограмму состоит в том, чтобы вызвать histogram функционируйте и задайте Orientation аргумент пары "имя-значение".

Horizontal bar chart containing four series of bars in the histogram format. Each location in x has a group of four bars. The first bar in each group is dark blue, the second bar light blue, the third bar is green, and the fourth bar is yellow.

Цвет панели в виде одной из опций в этой таблице.

ОпцииОписание
'blue' или 'b'Синий
'red' или 'r'Красный
'green' или 'g'Зеленый
'cyan' или 'c'Голубой
'magenta' или 'm'Пурпурный
'yellow' или 'y'Желтый
'black' или 'k'Черный
'white' или 'w'Белый

Пример: barh([10 20 30],'r') создает набор красных панелей.

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

Аргументы name-value

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

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

Примечание

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

  • Можно установить эти свойства только на столбчатых графиках, которые используют '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'

Sample of the color red

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

Sample of the color green

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

Sample of the color blue

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

Sample of the color cyan

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

Sample of the color magenta

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

Sample of the color yellow

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

Sample of the color black

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

Sample of the color white

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

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

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

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]'#D95319'

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]'#EDB120'

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]'#7E2F8E'

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]'#77AC30'

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]'#4DBEEE'

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]'#A2142F'

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

Пример: 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'

Sample of the color red

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

Sample of the color green

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

Sample of the color blue

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

Sample of the color cyan

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

Sample of the color magenta

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

Sample of the color yellow

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

Sample of the color black

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

Sample of the color white

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

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

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

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]'#D95319'

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]'#EDB120'

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]'#7E2F8E'

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]'#77AC30'

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]'#4DBEEE'

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]'#A2142F'

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

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

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

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

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

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

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

Пример: 1.5

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

Базовое значение в виде значения числового скаляра.

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

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

свернуть все

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

Больше о

свернуть все

Серия панелей

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

Группа панелей

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

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

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