Cómo hacer gráficos circulares en ggplot2 (con ejemplos)

Actualizado por ultima vez el 7 de mayo de 2021, por .

Un gráfico circular es un tipo de gráfico que tiene la forma de un círculo y utiliza sectores para representar proporciones de un todo.

Este tutorial explica cómo crear y modificar gráficos circulares en R usando la biblioteca de visualización de datos ggplot2 .

Cómo hacer un gráfico circular básico

El siguiente código muestra cómo crear un gráfico circular básico para un conjunto de datos usando ggplot2:

biblioteca (ggplot2)

#create data frame
 data <- data.frame (" categoría " = c ('A', 'B', 'C', 'D'),
                   " cantidad " = c (25, 40, 27, 8))

#crear gráfico circular 
ggplot (datos, aes (x = "", y = cantidad, llenar = categoría)) +
  geom_bar (stat = " identidad ", ancho = 1 ) +
  coord_polar (" y ", inicio = 0 ) 

gráfico circular ggplot2

Cómo modificar la apariencia del gráfico circular

El gráfico circular predeterminado en ggplot2 es bastante feo. La forma más sencilla de mejorar la apariencia es usar theme_void () , que elimina el fondo, la cuadrícula y las etiquetas:

ggplot (datos, aes (x = "", y = cantidad, llenar = categoría)) +
  geom_bar (stat = " identidad ", ancho = 1 ) +
  coord_polar (" y ", inicio = 0 ) +
  theme_void ()

gráfico circular ggplot2 sin etiquetas

Podemos mejorar aún más la apariencia del gráfico agregando etiquetas dentro de los sectores:

ggplot (datos, aes (x = "", y = cantidad, llenar = categoría)) +
  geom_bar (stat = " identidad ", ancho = 1 ) +
  coord_polar (" y ", inicio = 0 ) +
  geom_text ( aes (etiqueta = paste0 (cantidad, " % ")), position = position_stack (vjust = 0.5 )) +
  laboratorios (x = NULL, y = NULL, fill = NULL)

Gráfico circular en ggplot2 con etiquetas personalizadas

Podemos personalizar el gráfico aún más especificando nuestros propios colores hexadecimales para usar en los cortes con el argumento scale_fill_manual () :

ggplot (datos, aes (x = "", y = cantidad, llenar = categoría)) +
  geom_bar (stat = " identidad ", ancho = 1 ) +
  coord_polar (" y ", inicio = 0 ) +
  geom_text ( aes (etiqueta = paste0 (cantidad, " % ")), position = position_stack (vjust = 0.5 )) +
  laboratorios (x = NULL, y = NULL, fill = NULL) +
  theme_classic () +
  tema (axis.line = element_blank (),
          axis.text = element_blank (),
          axis.ticks = element_blank ()) +
  scale_fill_manual (valores = c (" # FF5733 ", " # 75FF33 ", " # 33DBFF ", " # BD33FF "))

Escala de relleno manual gráfico circular ggplot2

Consejo: utilice este selector de colores hexadecimales para encontrar combinaciones de códigos de colores hexadecimales que combinen bien.

También puede personalizar los colores de las rebanadas simplemente eligiendo una de las escalas de colores de la cafetera . Por ejemplo, así es como se ve la escala de colores «azules»:

ggplot (datos, aes (x = "", y = cantidad, llenar = categoría)) +
  geom_bar (stat = " identidad ", ancho = 1 ) +
  coord_polar (" y ", inicio = 0 ) +
  geom_text ( aes (etiqueta = paste0 (cantidad, " % ")), position = position_stack (vjust = 0.5 )) +
  laboratorios (x = NULL, y = NULL) +
  theme_classic () +
  tema (axis.line = element_blank (),
          axis.text = element_blank (),
          axis.ticks = element_blank ()) +
  scale_fill_brewer (palette = " Blues ")

Scale brewer en ggplot2

Recursos adicionales

Cómo crear un diagrama de caja agrupado en R usando ggplot2
Cómo crear un mapa de calor en R usando ggplot2
Cómo crear un diagrama de Gantt en R usando ggplot2

  • https://r-project.org
  • https://www.python.org/
  • https://www.stata.com/

Deja un comentario

Se puede utilizar una gráfica de probabilidad normal para determinar si los valores de un conjunto de datos tienen una…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!