Как сделать круговые диаграммы в ggplot2 (с примерами)

Как сделать круговые диаграммы в ggplot2 (с примерами)

Круговая диаграмма — это тип диаграммы, которая имеет форму круга и использует срезы для представления пропорций целого.

В этом руководстве объясняется, как создавать и изменять круговые диаграммы в R с помощью библиотеки визуализации данных ggplot2 .

Как сделать базовую круговую диаграмму

В следующем коде показано, как создать базовую круговую диаграмму для набора данных с помощью ggplot2:

library (ggplot2)

#create data frame
data <- data.frame(" category " = c('A', 'B', 'C', 'D'),
 " amount " = c(25, 40, 27, 8))

#create pie chart
ggplot(data, aes (x="", y=amount, fill=category)) +
 geom_bar(stat=" identity", width= 1 ) +
 coord_polar(" y", start= 0 )
круговая диаграмма ggplot2

Как изменить внешний вид круговой диаграммы

Круговая диаграмма по умолчанию в ggplot2 довольно уродлива. Самый простой способ улучшить внешний вид — использовать theme_void() , которая удаляет фон, сетку и метки:

ggplot(data, aes (x="", y=amount, fill=category)) +
 geom_bar(stat=" identity", width= 1 ) +
 coord_polar(" y", start= 0 ) +
 theme_void() 
Круговая диаграмма ggplot2 без меток

Мы можем улучшить внешний вид диаграммы, добавив метки внутри срезов:

ggplot(data, aes (x="", y=amount, fill=category)) +
 geom_bar(stat=" identity", width= 1 ) +
 coord_polar(" y", start= 0 ) +
 geom_text( aes (label = paste0(amount, " % ")), position = position_stack(vjust= 0.5 )) +
 labs(x = NULL, y = NULL, fill = NULL) 
Круговая диаграмма в ggplot2 с пользовательскими метками

Мы можем настроить диаграмму еще больше, указав наши собственные шестнадцатеричные цвета, которые будут использоваться для срезов с помощью аргумента scale_fill_manual() :

ggplot(data, aes (x="", y=amount, fill=category)) +
 geom_bar(stat=" identity", width= 1 ) +
 coord_polar(" y", start= 0 ) +
 geom_text( aes (label = paste0(amount, " % ")), position = position_stack(vjust= 0.5 )) +
 labs(x = NULL, y = NULL, fill = NULL) +
 theme_classic() +
 theme(axis.line = element_blank(),
 axis.text = element_blank(),
 axis.ticks = element_blank()) +
 scale_fill_manual(values=c(" #FF5733", " #75FF33", " #33DBFF", " #BD33FF ")) 
Круговая диаграмма ggplot2 с масштабированием вручную

Совет: Используйте эту палитру шестнадцатеричных цветов , чтобы найти комбинации шестнадцатеричных цветовых кодов, которые хорошо сочетаются друг с другом.

Вы также можете настроить цвета ломтиков, просто выбрав одну из цветовых шкал пивовара.Например, вот как выглядит цветовая гамма «голубой»:

ggplot(data, aes (x="", y=amount, fill=category)) +
 geom_bar(stat=" identity", width= 1 ) +
 coord_polar(" y", start= 0 ) +
 geom_text( aes (label = paste0(amount, " % ")), position = position_stack(vjust= 0.5 )) +
 labs(x = NULL, y = NULL) +
 theme_classic() +
 theme(axis.line = element_blank(),
 axis.text = element_blank(),
 axis.ticks = element_blank()) +
 scale_fill_brewer(palette=" Blues ") 
Масштабирование пивовара в ggplot2

Дополнительные ресурсы

Как создать сгруппированный блокплот в R с помощью ggplot2
Как создать тепловую карту в R с помощью ggplot2
Как создать диаграмму Ганта в R с помощью ggplot2

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.