Круговые диаграммы (англ. pie charts), мягко говоря, не в почете у профессиональных статистиков. Информация, представляемая при помощи круговой диаграммы, плохо вопринимается визуально и практически всегда лучшей альтернативой этому способу визуализации данных будет точечная диаграмма или, в крайнем случае, столбиковая диаграмма (подробнее см. Cleveland W.S. (1985) The Elements of Graphing Data. Wadsworth. Monterey, CA, USA). Не удивительно поэтому, что в первых версиях R даже не было отдельной функции для построения круговых диаграмм. Позднее такая функция появилась, поскольку в ряде случаев этот вид диаграмм все же может оказаться полезным. Не сложно догадаться, что соответствующая функция называется pie().
- x - вектор из положительных чисел, на основе которых строится диаграмма;
- labels - текстовый вектор, содержащий подписи секторов диаграммы; если значения x уже имеют атрибут names (имена), то аргумент labels указывать не обязательно (см. ниже);
- radius - изменяет размер квадрата, внутри которого строится диаграмма; в случаях, когда подписи секторов диаграммы слишком длинные, размер этого квадрата можно уменьшить (возможные значения: от -1 до 1, см. ниже);
- init.angle - угол поворота диаграммы;
- col - вектор (числовой или текстовый), содержащий коды цветов для заливки секторов диаграммы;
- main - текстовый вектор, содержащий заголовок диаграммы;
- ... - другие графические параметры (например, параметры, определяющие размер подписей секторов диаграммы, цвет линий, и т.п.).
В качестве примера рассмотрим результаты недавнего голосования в Госдуму Российской Федерации. Изобразим на одном рисунке две круговые диаграммы, отображающие явку избирателей и распределение их голосов. Для начала создадим два числовых вектора с данными:
Каждому элементу созданных векторов присвоим соответствующие имена при помощи функции names(). Эти имена потом будут автоматически использованы программой в качестве подписей секторов диаграммы:
Посмотрим, что получилось:
Поскольку стоит задача изобразить обе диаграммы на одном рисунке, графическое окно R необходимо разбить на две части. Для этого можно использовать команду par() (от parameters - параметры) и один из ее многочисленных аргументов - mfrow:
Данная команда приведет к разбиению графического окна R на 2 ячейки, формирующие один столбец. Круговые диаграммы будут последовательно добавлены программой в каждую из этих ячеек:
Посмотрим, что получилось:
percent.voted Проголосовали Не явились 60 40 votes Единая Россия КПРФ Справедливая Россия ЛДПР 49.3 19.2 13.2 11.7 Яблоко Патриоты России Правое дело 3.4 1.0 0.6
Поскольку стоит задача изобразить обе диаграммы на одном рисунке, графическое окно R необходимо разбить на две части. Для этого можно использовать команду par() (от parameters - параметры) и один из ее многочисленных аргументов - mfrow:
Данная команда приведет к разбиению графического окна R на 2 ячейки, формирующие один столбец. Круговые диаграммы будут последовательно добавлены программой в каждую из этих ячеек:
Во второй из приведенных команд я слегка повернул диаграмму влево при помощи аргумента init.angle. Это позволило избежать перекрывания подписей "Правое дело" и "Патриоты России". Получилось следующее:
Цвета заливки секторов диаграммы, используемые программой по умолчанию, можно изменить при помощи аргумента col. Например:
В результате получим следующее:
Отправить комментарий