exponenta event banner

пирог

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

Описание

пример

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 должен быть числовым.

пример

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

пример

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

пример

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

Примеры

свернуть все

Создание круговой диаграммы вектора 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 

Получить текстовый объект для метки «Прибыль». Изменение цвета и размера шрифта. Для задания свойств используйте точечную нотацию.

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 должны быть конечными.

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

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

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

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

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

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

Параметры метки, заданные как массив текстовых меток или выражение формата. Этот аргумент используется для отображения пользовательских текстовых меток с секциями или для отображения процентных значений, которые 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%%' отображает метки с двумя задними десятичными разрядами, за которыми следует символ процента.

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

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

свернуть все

Patch и Text объекты, возвращенные в виде вектора. Дополнительные сведения см. в разделе Свойства исправления и Свойства текста.

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

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

В R2019b изменилось поведение

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

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