Gráfico circular anidado en R

En este artículo, discutiremos cómo crear un gráfico circular anidado en el lenguaje de programación R.

Un gráfico circular es un diagrama circular que puede mostrar solo una serie de datos. El área de las porciones del pastel representa la proporción de las partes de los datos que se visualizan en esa porción. Pero a veces necesitamos mostrar dos series de datos simultáneamente para analizar mejor los datos. Podemos hacer esto creando un gráfico circular anidado que es un gráfico circular anidado dentro de un gráfico de anillos.

Método 1: Cree un gráfico circular anidado usando el paquete Plotly

Para crear un gráfico circular anidado en R Language usando el paquete Plotly, primero crearemos un gráfico circular básico y un gráfico de anillos básico. Luego combine esas dos capas para crear un gráfico circular anidado.

Para instalar e importar el paquete plotly en la consola R, se proporciona la sintaxis:

install.package('plotly')
library(plotly)

Crear un gráfico circular:

En el lenguaje R, podemos usar el paquete Plotly con la función plot_ly() para crear un gráfico circular. La función plot_ly() toma un marco de datos como argumento que se va a visualizar. Luego agregamos la función add_pie() para crear un gráfico circular.

Sintaxis:

plot_ly( df ) %>% add_pie( df, labels, value )

dónde,

  • df: determina el marco de datos que se va a visualizar.
  • etiquetas: determina la variable que tiene etiquetas.
  • valor: determina la variable con valores que se van a presentar en el gráfico circular.

Ejemplo:

Aquí hay un gráfico circular básico hecho con la función plot_ly(). 

R

# load library plotly
library(plotly)
  
# create sample data frame
sample_data <- data.frame(group= c('Group1', 'Group2', 
                                   'Group3', 'Group4'), 
                   value= c(25,30,20,25))
  
# create pie chart using plot_ly() function
plot_ly(sample_data) %>%
  add_pie(sample_data, labels = ~`group`, values = ~`value`)

Producción:

Cree un gráfico de anillos:

En este método, para crear un gráfico de anillos básico, usaremos la función plot_ly() con el parámetro de agujero.

Sintaxis:

plot_ly( df ) %>% add_pie( df, labels, value, hole )

dónde,

  • df: determina el marco de datos que se va a visualizar.
  • etiquetas: determina la variable que tiene etiquetas.
  • valor: determina la variable con valores que se van a presentar en el gráfico circular.
  • agujero: determina el tamaño del agujero en el gráfico de anillos.

Ejemplo:

Aquí hay un gráfico de anillos básico creado con la función plot_ly() con el parámetro de agujero. 

R

# load library plotly
library(plotly)
  
# create sample data frame
sample_data <- data.frame(group= c('Group1', 'Group2', 
                                   'Group3'), 
                   value= c(25,30,20))
  
# create donut chart using plot_ly() function
plot_ly(sample_data) %>%
  add_pie(sample_data, labels = ~`group`, values = ~`value`,
         type = 'pie', hole = 0.5)

Producción:

Cree un gráfico circular anidado:

Para crear un gráfico circular anidado, primero usamos la función plot_ly() para crear una base. Luego agregue una capa de gráfico de anillos con la ayuda de la función add_pie(). Luego, para convertirlo en un gráfico circular anidado, agregamos una nueva capa del gráfico circular y lo ajustamos al centro del gráfico de anillos usando un argumento de dominio.

Sintaxis:

plot_ly( df ) %>% add_pie( df, labels, value, hole ) %>% add_pie( df, labels, value, domain )
  • dónde,
  • df: determina el marco de datos que se va a visualizar.
  • etiquetas: determina la variable que tiene etiquetas.
  • valor: determina la variable con valores que se van a presentar en el gráfico circular.
  • agujero: determina el tamaño del agujero en el gráfico de anillos.
  • dominio: determina el vector que indica la posición y el tamaño del gráfico circular.

Ejemplo:

Aquí hay un gráfico circular anidado básico hecho con la función plot_ly().

R

# load library plotly
library(plotly)
  
# create sample data frame
sample_data <- data.frame(group= c('Group1', 'Group2', 'Group3', 'Group4'), 
                   value1= c(25,30,20,25),value2= c(15,40,10,35))
  
# create pie chart using plot_ly() function
plot_ly(sample_data) %>%
  add_pie(labels = ~`group`, values = ~`value1`, 
          type = 'pie', hole = 0.7, sort = F,
          marker = list(line = list(width = 2))) %>%
  add_pie(sample_data, labels = ~`group`, values = ~`value2`, 
          domain = list(
            x = c(0.15, 0.85),
            y = c(0.15, 0.85)),
          sort = F)

Producción:

Método 2: Cree un gráfico circular anidado usando el paquete ggplot2

Para crear un gráfico circular anidado en el lenguaje R usando el paquete ggplot2, primero creamos un diagrama rectangular y luego usamos la función coord_polar() para convertirlo en un gráfico circular anidado. La función coord_polar() convierte el sistema de coordenadas cartesianas en un sistema de coordenadas polares en ggplot2.

Para instalar e importar el paquete ggplot2 en la consola R, se proporciona la sintaxis:

install.package('ggpot2')
library(ggplot2)

Sintaxis:

plot + coord_polar( theta, start, direction, clip )

dónde,

  • theta: determina el ángulo
  • inicio: determina el ajuste de compensación
  • dirección: determina la dirección de la transformación, es decir, x o y
  • clip: determina si el dibujo debe ser recortado o no

Ejemplo:

Aquí hay un gráfico circular anidado creado con el paquete ggplot2.

R

# load library ggplot2
library(ggplot2)
  
# create sample data frame
sample_data <- data.frame(group= c('Group1', 'Group2',
                                   'Group1', 'Group2', 
                                   'Group1', 'Group2'), 
                          name= c('name1', 'name1',
                                  'name2', 'name2', 
                                  'name3', 'name3'),
                   value= c(25,30,35,20,40,50))
  
# create nested pie chart using ggplot
ggplot(sample_data, aes(x = factor(group), y = value, fill = factor(name))) +
          geom_col() +
         scale_x_discrete(limits = c("Group1", "Group2")) +
          coord_polar("y")

Producción:

Publicación traducida automáticamente

Artículo escrito por mishrapriyank17 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *