Круговая диаграмма — это тип диаграммы, которая имеет форму круга и использует срезы для представления пропорций целого.
В этом руководстве объясняется, как создавать и изменять круговые диаграммы в 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 довольно уродлива. Самый простой способ улучшить внешний вид — использовать theme_void() , которая удаляет фон, сетку и метки:
ggplot(data, aes (x="", y=amount, fill=category)) +
geom_bar(stat=" identity", width= 1 ) +
coord_polar(" y", start= 0 ) +
theme_void()

Мы можем улучшить внешний вид диаграммы, добавив метки внутри срезов:
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)

Мы можем настроить диаграмму еще больше, указав наши собственные шестнадцатеричные цвета, которые будут использоваться для срезов с помощью аргумента 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 "))

Совет: Используйте эту палитру шестнадцатеричных цветов , чтобы найти комбинации шестнадцатеричных цветовых кодов, которые хорошо сочетаются друг с другом.
Вы также можете настроить цвета ломтиков, просто выбрав одну из цветовых шкал пивовара.Например, вот как выглядит цветовая гамма «голубой»:
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 ")

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