En este artículo, vamos a ver cómo crear diagramas de barras circulares y personalización en el lenguaje de programación R.
Un gráfico de barras circular es similar a un gráfico de barras, pero en lugar de coordenadas cartesianas, utiliza coordenadas polares. Una gráfica de barras circular es aquella en la que las barras se presentan en un círculo en lugar de una línea. Este artículo le mostrará cómo crear dichos gráficos usando R y ggplot2. Contiene código reproducible y explica cómo usar el método coord_polar().
Definir los datos
Para usar el conjunto de datos en el diagrama de barras, necesitamos crear un conjunto de datos, así que aquí lo crearemos.
R
# Libraries library(tidyverse) # help you to prepare the data library(ggplot2) # help you to prepare the plots # prepare dataset data = data.frame( # add a parameter with a range list 1-100 index = seq(1,100), # create labelled parameter label = paste( data ="Data ", seq(1,100), sep="= "), # random values in the range 1 - 100 values = sample( seq(10,100), 100, replace = T) ) # top five values of the dataframe head(data)
Producción:
index label values 1 1 Data -1 28 2 2 Data -2 46 3 3 Data -3 54 4 4 Data -4 25 5 5 Data -5 43 6 6 Data -6 26
Ejemplo 1: Gráfica de barras circular básica
coord_polar() métodos utilizados para crear gráficos en coordinadas específicas.
Sintaxis: coord_polar(theta = “x”, inicio = 0, dirección = 1, clip = “on”)
Parámetros:
- theta: Variable para mapear el ángulo a (x o y)
- start : Desplazamiento del punto de partida desde las 12 en punto en radianes. La compensación se aplica en el sentido de las agujas del reloj o en el sentido contrario a las agujas del reloj según el valor de la dirección.
- dirección : 1, en el sentido de las agujas del reloj; -1, en sentido antihorario
- clip : ¿Debe recortarse el dibujo en la medida del panel de trazado? Una configuración de «encendido» (predeterminado) significa que sí, y una configuración de «apagado» significa que no. Para más detalles, consulte coord_cartesian().
R
# Make the plot p <- ggplot(data, aes(x = as.factor(index), # x-axis factor label # y-axis numerical parameter y = values)) + # the bar height will represent # the actual value of the data geom_bar(stat = "identity", fill=alpha("green", 0.5)) + # define bar color # define size of inner circle # and the size of the bar ylim(-100,120) + # define the polar coordinate coord_polar(start = 0) # plot p
Producción:
Ejemplo 2: agregar etiquetas a los datos
Para agregar etiquetas y datos usará los métodos geom_text().
R
# Adding labels to the plot data_with_labels = data # number of labels required number_of_label <- nrow(data_with_labels) # find the angle of rotation of the label angle <- 90 - 360 * (data_with_labels$index - 0.5) /number_of_label # check the label alignment - right or left data_with_labels$hjust<-ifelse( angle < -90, 1, 0) # check the label angle data_with_labels$angle<-ifelse(angle < -90, angle + 180, angle) # Make the plot # x-axis factor label p <- ggplot(data, aes(x = as.factor(index), # y-axis numerical parameter y = values)) + # the bar height will represent # the actual value of the data geom_bar(stat = "identity", # define bar color fill=alpha("green", 0.5)) + # define size of inner circle # and the size of the bar ylim(-100,120) + # define the polar coordinate coord_polar(start = 0) + # add labels geom_text(data = data_with_labels, aes(x = index, y = values+10, # label alignment label = label, hjust=hjust), color = "black", fontface="bold", alpha = 0.6, size = 2.5, angle = data_with_labels$angle, inherit.aes = FALSE ) p
Producción:
Publicación traducida automáticamente
Artículo escrito por Mohit Gupta_OMG 🙂 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA