R - Gráficos circulares

El lenguaje de programación R tiene numerosas bibliotecas para crear cuadros y gráficos. Un gráfico circular es una representación de valores como porciones de un círculo con diferentes colores. Los cortes están etiquetados y los números correspondientes a cada corte también se representan en el gráfico.

En R, el gráfico circular se crea utilizando el pie()función que toma números positivos como entrada vectorial. Los parámetros adicionales se utilizan para controlar etiquetas, color, título, etc.

Sintaxis

La sintaxis básica para crear un gráfico circular usando la R es:

pie(x, labels, radius, main, col, clockwise)

A continuación se muestra la descripción de los parámetros utilizados:

  • x es un vector que contiene los valores numéricos utilizados en el gráfico circular.

  • labels se utiliza para dar una descripción a los cortes.

  • radius indica el radio del círculo del gráfico circular (valor entre -1 y +1).

  • main indica el título del gráfico.

  • col indica la paleta de colores.

  • clockwise es un valor lógico que indica si los cortes se dibujan en sentido horario o antihorario.

Ejemplo

Se crea un gráfico circular muy simple utilizando solo el vector de entrada y las etiquetas. El siguiente script creará y guardará el gráfico circular en el directorio de trabajo actual de R.

# Create data for the graph.
x <- c(21, 62, 10, 53)
labels <- c("London", "New York", "Singapore", "Mumbai")

# Give the chart file a name.
png(file = "city.png")

# Plot the chart.
pie(x,labels)

# Save the file.
dev.off()

Cuando ejecutamos el código anterior, produce el siguiente resultado:

Título y colores del gráfico circular

Podemos expandir las características del gráfico agregando más parámetros a la función. Usaremos el parámetromain para agregar un título al gráfico y otro parámetro es colque hará uso de la paleta de colores del arco iris mientras dibuja el gráfico. La longitud de la paleta debe ser la misma que la cantidad de valores que tenemos para la tabla. Por lo tanto, usamos longitud (x).

Ejemplo

El siguiente script creará y guardará el gráfico circular en el directorio de trabajo actual de R.

# Create data for the graph.
x <- c(21, 62, 10, 53)
labels <- c("London", "New York", "Singapore", "Mumbai")

# Give the chart file a name.
png(file = "city_title_colours.jpg")

# Plot the chart with title and rainbow color pallet.
pie(x, labels, main = "City pie chart", col = rainbow(length(x)))

# Save the file.
dev.off()

Cuando ejecutamos el código anterior, produce el siguiente resultado:

Porcentajes de sector y leyenda del gráfico

Podemos agregar un porcentaje de corte y una leyenda de gráfico creando variables de gráfico adicionales.

# Create data for the graph.
x <-  c(21, 62, 10,53)
labels <-  c("London","New York","Singapore","Mumbai")

piepercent<- round(100*x/sum(x), 1)

# Give the chart file a name.
png(file = "city_percentage_legends.jpg")

# Plot the chart.
pie(x, labels = piepercent, main = "City pie chart",col = rainbow(length(x)))
legend("topright", c("London","New York","Singapore","Mumbai"), cex = 0.8,
   fill = rainbow(length(x)))

# Save the file.
dev.off()

Cuando ejecutamos el código anterior, produce el siguiente resultado:

Gráfico circular 3D

Se puede dibujar un gráfico circular con 3 dimensiones utilizando paquetes adicionales. El paqueteplotrix tiene una función llamada pie3D() que se utiliza para esto.

# Get the library.
library(plotrix)

# Create data for the graph.
x <-  c(21, 62, 10,53)
lbl <-  c("London","New York","Singapore","Mumbai")

# Give the chart file a name.
png(file = "3d_pie_chart.jpg")

# Plot the chart.
pie3D(x,labels = lbl,explode = 0.1, main = "Pie Chart of Countries ")

# Save the file.
dev.off()

Cuando ejecutamos el código anterior, produce el siguiente resultado: