bar

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

Описание

пример

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)

Задайте местоположения панели вдоль оси X.

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

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

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

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

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

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

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

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

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

Один способ указать на категории для ваших панелей состоит в том, чтобы задать 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)

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

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

Отобразите значения в советах первой серии панелей. Получите координаты советов панелей путем получения 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')

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

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

Начиная в 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')

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

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

Выберите внутренний цвет панели и цвет контура с помощью триплетов 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)

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

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

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

Создайте столбчатую диаграмму, которая использует цвета палитры путем установки 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

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

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

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

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

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

свернуть все

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'Белый

Объект осей. Если вы не задаете оси, то 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 для конкретной панели.

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

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

По умолчанию, когда вы создаете столбчатую диаграмму, 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