SAS - Круговые диаграммы
Круговая диаграмма - это представление значений в виде срезов круга разного цвета. Срезы помечены, и числа, соответствующие каждому срезу, также представлены на диаграмме.
В SAS круговая диаграмма создается с использованием PROC TEMPLATE который принимает параметры для управления процентом, метками, цветом, заголовком и т. д.
Синтаксис
Основной синтаксис для создания круговой диаграммы в SAS -
PROC TEMPLATE;
DEFINE STATGRAPH pie;
BEGINGRAPH;
LAYOUT REGION;
PIECHART CATEGORY = variable /
DATALABELLOCATION = OUTSIDE
CATEGORYDIRECTION = CLOCKWISE
START = 180 NAME = 'pie';
DISCRETELEGEND 'pie' /
TITLE = ' ';
ENDLAYOUT;
ENDGRAPH;
END;
RUN;
Ниже приводится описание используемых параметров -
variable это значение, для которого мы создаем круговую диаграмму.
Простая круговая диаграмма
На этой круговой диаграмме мы берем одну переменную из набора данных. Круговая диаграмма создается со значением срезов, представляющих долю количества переменной по отношению к общему значению переменной.
пример
В приведенном ниже примере каждый фрагмент представляет собой долю типа автомобиля от общего количества автомобилей.
PROC SQL;
create table CARS1 as
SELECT make, model, type, invoice, horsepower, length, weight
FROM
SASHELP.CARS
WHERE make in ('Audi','BMW')
;
RUN;
PROC TEMPLATE;
DEFINE STATGRAPH pie;
BEGINGRAPH;
LAYOUT REGION;
PIECHART CATEGORY = type /
DATALABELLOCATION = OUTSIDE
CATEGORYDIRECTION = CLOCKWISE
START = 180 NAME = 'pie';
DISCRETELEGEND 'pie' /
TITLE = 'Car Types';
ENDLAYOUT;
ENDGRAPH;
END;
RUN;
PROC SGRENDER DATA = cars1
TEMPLATE = pie;
RUN;
Когда мы выполняем приведенный выше код, мы получаем следующий вывод -
Круговая диаграмма с метками данных
На этой круговой диаграмме мы представляем как дробное, так и процентное значение для каждого среза. Мы также меняем расположение метки, чтобы она была внутри диаграммы. Стиль отображения диаграммы изменяется с помощью параметра DATASKIN. Он использует один из встроенных стилей, доступных в среде SAS.
пример
PROC TEMPLATE;
DEFINE STATGRAPH pie;
BEGINGRAPH;
LAYOUT REGION;
PIECHART CATEGORY = type /
DATALABELLOCATION = INSIDE
DATALABELCONTENT = ALL
CATEGORYDIRECTION = CLOCKWISE
DATASKIN = SHEEN
START = 180 NAME = 'pie';
DISCRETELEGEND 'pie' /
TITLE = 'Car Types';
ENDLAYOUT;
ENDGRAPH;
END;
RUN;
PROC SGRENDER DATA = cars1
TEMPLATE = pie;
RUN;
Когда мы выполняем приведенный выше код, мы получаем следующий вывод -
Сгруппированная круговая диаграмма
На этой круговой диаграмме значение переменной, представленной на графике, сгруппировано относительно другой переменной того же набора данных. Каждая группа превращается в один круг, а на диаграмме отображается столько концентрических кругов, сколько доступно групп.
пример
В приведенном ниже примере мы группируем диаграмму по переменной с именем «Make». Поскольку доступны два значения («Audi» и «BMW»), мы получаем два концентрических круга, каждый из которых представляет срезы типов автомобилей своей марки.
PROC TEMPLATE;
DEFINE STATGRAPH pie;
BEGINGRAPH;
LAYOUT REGION;
PIECHART CATEGORY = type / Group = make
DATALABELLOCATION = INSIDE
DATALABELCONTENT = ALL
CATEGORYDIRECTION = CLOCKWISE
DATASKIN = SHEEN
START = 180 NAME = 'pie';
DISCRETELEGEND 'pie' /
TITLE = 'Car Types';
ENDLAYOUT;
ENDGRAPH;
END;
RUN;
PROC SGRENDER DATA = cars1
TEMPLATE = pie;
RUN;
Когда мы выполняем приведенный выше код, мы получаем следующий вывод -