pie

Круговая диаграмма

Описание

пример

pie(X) чертит круговую диаграмму с помощью данных в X. Каждый срез круговой диаграммы представляет элемент в X.

  • Если sum(X) ≤ 1, затем значения в X непосредственно определите площади смещений сектора круга. pie чертит только частичный круг если sum(X) < 1.

  • Если sum(X) > 1, затем pie нормирует значения на X/sum(X) определить область каждого среза круга.

  • Если X имеет тип данных categorical, срезы соответствуют категориям. Областью каждого среза является число элементов в категории, разделенной на число элементов в X.

пример

pie(X,explode) срезы смещений от круга. explode вектор или матрица нулей и ненулей, которые соответствуют X. pie функционируйте возмещает срезы для ненулевых элементов только в explode.

Если X имеет тип данных categorical, затем explode может быть нулевой вектор и ненули, соответствующие категориям или массиву ячеек имен категорий, чтобы возместить.

пример

pie(X,labels) задает опции для маркировки смещений сектора круга. В этом случае, X mustBeNumeric.

пример

pie(X,explode,labels) срезы смещений и задают текстовые метки. X может быть числовым или категориальным.

пример

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

пример

p = pie(___) возвращает вектор из текстовых графических объектов и закрашенной фигуры. Вход может быть любой из комбинаций входных аргументов в предыдущих синтаксисах.

Примеры

свернуть все

Создайте круговую диаграмму векторного X.

X = [1 3 0.5 2.5 2];
pie(X)

Возместите вторые и четвертые смещения сектора круга путем установки соответствующего explode элементы к 1.

explode = [0 1 0 1 0];
pie(X,explode)

Создайте круговую диаграмму векторного X и пометьте срезы.

X = 1:3;
labels = {'Taxes','Expenses','Profit'};
pie(X,labels)

Создайте помеченную круговую диаграмму, и затем измените цветной и размер шрифта текстовых меток.

X = 1:3;
labels = {'Taxes','Expenses','Profit'};
p = pie(X,labels)

p = 
  1x6 graphics array:

    Patch    Text     Patch    Text     Patch    Text 

Получите текстовый объект для метки 'Profit'. Измените его цветной и размер шрифта. Используйте запись через точку, чтобы установить свойства.

t = p(6);
t.BackgroundColor = 'cyan';
t.EdgeColor = 'red';
t.FontSize = 14;

Создайте круговую диаграмму и задайте выражение формата, чтобы отобразить каждую метку с тремя цифрами после десятичной точки. Чтобы включать знак процента в метки, задайте '%%' в конце выражения.

X = [1/3 2/3];
pie(X,'%.3f%%')

Создайте круговую диаграмму векторного X где сумма элементов меньше 1.

X = [0.19 0.22 0.41];
pie(X)

pie чертит частичный круг, потому что сумма элементов меньше 1.

Создайте векторы y2010 и y2011, это содержит финансовые данные в течение двух лет. Затем создайте массив ячеек, содержащий метки для значений.

y2010 = [50 0 100 95];
y2011 = [65 22 97 120];
labels = {'Investments','Cash','Operations','Sales'};

Создайте 1 2 мозаичное размещение графика и отобразите две круговых диаграммы, что у каждого есть заголовок. Затем отобразите разделяемую легенду в восточной мозаике размещения. Для этого вызовите legend функция с возвращаемым аргументом, чтобы хранить объект легенды. Затем переместите легенду в восточную мозаику путем установки Layout.Tile свойство к 'east'.

t = tiledlayout(1,2,'TileSpacing','compact');

% Create pie charts
ax1 = nexttile;
pie(ax1,y2010)
title('2010')

ax2 = nexttile;
pie(ax2,y2011)
title('2011')

% Create legend
lgd = legend(labels);
lgd.Layout.Tile = 'east';

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

X = categorical({'North','South','North','East','South','West'});
explode = {'North','South'};
pie(X,explode)

Теперь используйте логический вектор, чтобы возместить те же срезы.

explode = [0 1 1 0];
pie(X,explode)

Постройте категориальную круговую диаграмму без любых срезов смещения и пометьте срезы. Когда X имеет тип данных categorical необходимо задать входной параметр explode. Чтобы задать метки без любых срезов смещения, задайте explode как массив пустой ячейки и labels как метки.

X = categorical({'North','South','North','East','South','West'});
explode = {};
labels = {'E','N','S','W'};
pie(X,explode,labels)

Теперь возместите срез и пометьте все срезы.

X = categorical({'North','South','North','East','South','West'});
explode = {'West'};
labels = {'E','N','S','W'};
pie(X,explode,labels)

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

свернуть все

Входной вектор или матрица.

  • Если X является числовым, затем все значения в X mustBeFinite.

  • Если X является категориальным, затем pie игнорирует неопределенные элементы.

Типы данных: double|categorical

Возместите срезы в виде числового вектора или матрицы, массива ячеек из символьных векторов или массива строк.

  • Если X является числовым, затем explode должен быть логический или числовой вектор или матрица нулей и ненулей, которые соответствуют X. Истинное (ненулевое) значение возмещает соответствующий срез от центра круговой диаграммы, так, чтобы X(i,j) возмещен от центра если explode(i,j) является ненулевым. explode должен быть одного размера с X.

  • Если X является категориальным, затем explode может быть массив ячеек из символьных векторов, которые являются названиями категории или массивом строк названий категории. pie срезы смещений, соответствующие категориям в explode.

  • Если X является категориальным, затем explode также может быть логический или числовой вектор с элементами, которые соответствуют каждой категории в X. pie функционируйте возмещает срезы, соответствующие верному (ненулевой) в порядке категории.

Пометьте опции в виде массива текстовых меток или выражения формата. Используйте этот аргумент, чтобы отобразить метки пользовательского текста со смещениями сектора круга или отобразить значения процента, которые MATLAB® вводит в определенном формате.

Примечание

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

Отобразите текстовые метки

Задайте метки как массив ячеек из символьных векторов или как массив строк.

Когда X содержит числовые значения, число элементов в labels должен равняться числу элементов в X.

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

Отобразите проценты в определенном формате

Задайте выражение формата как вектор символов или как строковый скаляр. Выражение формата начинается с символа процента (%) сопровождаемый серией идентификаторов.

Example of a custom format.

Все идентификаторы являются дополнительными за исключением символа преобразования. Задайте идентификаторы в этом порядке:

  1. Один или несколько флагов — Опции для отображения знаков "плюс", десятичных точек и выравнивания по ширине меток.

    • Знак "плюс" (+) — Отображают знак "плюс" рядом с положительными значениями.

    • Хешируйте символ (#) — Отображают десятичную точку, даже когда точностью является 0, такой как в '50.'.

    • Знак "минус" () — Оставленный выравнивают по ширине метки и заполняют концы меток с пробелами вместо того, чтобы дополнить их вначале.

  2. Ширина поля — Минимальное количество символов, чтобы отобразиться в метке. Задайте ширину поля как целочисленное значение. Если количество цифр в метке меньше, чем ширина поля, то метка дополнена пробелами.

  3. Точность — Количество цифр справа от десятичной точки. Задайте точность как десятичную точку, сопровождаемую целочисленным значением.

  4. Символ преобразования — Фиксированная точка или экспоненциальное представление. Для списка символов преобразования см. приведенную ниже таблицу. Если вы задаете символ преобразования, который не соответствует данным, MATLAB использует %e вместо этого.

Символ преобразованияОписаниеПример
fПредставление с фиксированной точкой. Значение точности указывает на количество десятичных разрядов.'%.4f%%' отображает метку для среза, который составляет 6,25% круга как 6.2500%.
eЭкспоненциальное представление. Значение точности указывает на количество десятичных разрядов.'%.4e%%' отображает метку для среза, который составляет 6,25% круга как 6.2500e+00%.
gБолее компактная версия e или f, без конечных нулей. Значение точности указывает на максимальное количество десятичных разрядов.'%.4g%%'отображает метку для среза, который составляет 6,25% круга как 6.25%.

В дополнение к упомянутым выше идентификаторам можно также задать буквенный текст вначале или конец выражения формата. Чтобы отобразить одну кавычку, используйте ''. Чтобы отобразить символ процента, используйте %%. Например, '%.2f%%' отображает метки с двумя запаздывающими десятичными разрядами, сопровождаемыми символом процента.

Объект осей. Используйте ax построить круговую диаграмму в определенные оси вместо текущей системы координат (gca).

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

свернуть все

Patch и Text объекты, возвращенные как вектор. Для получения дополнительной информации смотрите Patch Properties and Text Properties.

Вопросы совместимости

развернуть все

Поведение изменяется в R2019b

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

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