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. The pie функция смещает срезы для ненулевых элементов только в explode.

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

пример

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

пример

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 функция с возвращаемым аргументом для хранения объекта 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. Истинное (ненулевое) значение смещает соответствующий срез от центра круговой диаграммы, так что X(i,j) смещение от центра, если explode(i,j) является ненулевым. explode должен быть того же размера, что и X.

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

  • Если X категориальна, тогда explode также может быть логическим или числовым вектором с элементами, которые соответствуют каждой категории в X. The 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%%' отображает метки с двумя конечными десятичными знаками, за которыми следует символ процента.

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

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

свернуть все

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

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

расширить все

Поведение изменено в R2019b

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

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