Como criar gráficos de pizza no ggplot2 (com exemplos)


Um gráfico de pizza é um tipo de gráfico em forma de círculo e usa fatias para representar as proporções de um todo.

Este tutorial explica como criar e editar gráficos de pizza em R usando a biblioteca de visualização de dados ggplot2 .

Como criar um gráfico de pizza básico

O código a seguir mostra como criar um gráfico de pizza básico para um conjunto de dados usando 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 ) 

gráfico de pizza ggplot2

Como alterar a aparência do gráfico de pizza

O gráfico de pizza padrão no ggplot2 é muito feio. A maneira mais fácil de melhorar a aparência é usar theme_void() , que remove o plano de fundo, a grade e os rótulos:

 ggplot(data, aes (x="", y=amount, fill=category)) +
  geom_bar(stat=" identity ", width= 1 ) +
  coord_polar(" y ", start= 0 ) +
  theme_void() 

gráfico de pizza ggplot2 sem rótulos

Podemos melhorar ainda mais a aparência do gráfico adicionando rótulos dentro das fatias:

 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) 

Gráfico de pizza no ggplot2 com rótulos personalizados

Podemos personalizar ainda mais o gráfico especificando nossas próprias cores hexadecimais para usar nas fatias com o argumento 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 ")) 

Gráfico de pizza ggplot2 preenchido manualmente em escala

Dica: Use este seletor de cores hexadecimais para encontrar combinações de códigos de cores hexadecimais que combinem bem.

Você também pode personalizar as cores das fatias simplesmente escolhendo uma das escalas de cores da cervejaria . Por exemplo, esta é a aparência da escala de cores “blues”:

 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 ") 

Brewer em escala no ggplot2

Recursos adicionais

Como criar um boxplot agrupado em R usando ggplot2
Como criar um mapa de calor em R usando ggplot2
Como criar um gráfico de Gantt em R usando ggplot2

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *