bar

Столбчатый график

  • Bar graph

Описание

пример

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 object. The axes object 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 object. The axes object 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 object. The axes object 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 object. The axes object 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 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];
bar(x,y,'stacked')

Figure contains an axes object. The axes object 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 object. The axes object 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 object. The axes object 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 object. The axes object 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 object. The axes object 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 objects. Axes object 1 contains 3 objects of type bar. Axes object 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 object. The axes object 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 object. The axes object 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 object. The axes object 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 object. The axes object 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 object. The axes object contains 3 objects of type bar.

Сделайте третью серию панелей зеленой.

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

Figure contains an axes object. The axes object 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)

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];
bar(x,y)
Или
x = [1980 1990];
y = [2 6 9
    11 22 32];
bar(x,y)

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];
bar(x,y)

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- в виде скаляра, вектора или матрицы. Размер y зависит от размера x и как вы хотите отобразить свои данные. Эта таблица описывает наиболее распространенные ситуации.

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

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

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

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];
bar(x,y)
Или
x = [1980 1990];
y = [2 6 9
    11 22 32];
bar(x,y)

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];
bar(x,y)

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 | 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 значение.

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'.

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 функция.

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 функция.

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.

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

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

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

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

Задайте дополнительные разделенные запятой пары 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'

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';

Цветные данные в виде одного из этих значений:

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

  • Матрица с тремя столбцами — Один цвет на панель. Каждая строка в матрице задает триплет RGB для конкретной панели.

  • Скаляр — Один цвет применяется ко всем панелям, куда цвет прибывает из палитры.

  • Вектор — Один цвет на панель. Цвета прибывают из палитры.

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

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

Пример

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

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

Bar chart that has all dark blue bars except the second bar, which is cyan.

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

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

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

Стиль линииОписаниеПолучившаяся линия
'-'Сплошная линия

Sample of solid line

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

Sample of dashed line

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

Sample of dotted line

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

Sample of dash-dotted line, with alternating dashes and dots

'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