Dibuje la gráfica ggplot2 con dos ejes Y en cada lado y diferentes escalas en R

Hay muchos datos disponibles que tienen más de una unidad, como temperatura, presión, altura de una persona , etc. Queremos representar estos datos usando más de una unidad en un gráfico básico porque es posible que otros usuarios no estén familiarizados con la unidad que tiene. previsto en la parcela. Se vuelve difícil para ellos analizar desde la trama. En tal caso, necesitamos dos ejes que tengan diferentes escalas en ambos. Por lo tanto, se pueden usar ejes duales si hay escalado entre ambos ejes. Esto se conoce como factor de escala. 

Por ejemplo, un eje Y puede tener la distancia en millas y otro eje puede tener la distancia en kilómetros porque puede haber algunas personas que no se sientan cómodas midiendo distancias usando millas .

En este artículo, vamos a ver cómo agregar dos ejes verticales en cada lado con diferentes escalas usando el gráfico de barras ggplot2 en el lenguaje de programación R usando un ejemplo adecuado.

Instalación

Primero, debe instalar el paquete ggplot2 si no se instaló previamente en R Studio. Para instalar y cargar, escriba el siguiente comando en R Console:

install.packages("ggplot2")
library(ggplot2)

Creación de gráfico de barras

Para crear un diagrama de barras simple, usaremos la función geom_bar() .

Sintaxis: geom_bar(estadística, relleno, color, ancho)

Parámetros:  

  • stat : Configure el parámetro stat para identificar el modo.
  • relleno: representa el color dentro de las barras.
  • color : Representa el color de los contornos de las barras.
  • ancho: Representa el ancho de las barras.

Ejemplo: Considere un conjunto de datos que consta de información sobre las alturas de cinco estudiantes diferentes en una clase. La altura dada en el conjunto de datos está en pies. Entonces, necesitamos dos ejes Y para representar las alturas usando las unidades «pies» y «centímetros».

Primero, creamos un marco de datos que tiene dos vectores «perno» que contiene la identificación de los estudiantes y «altura» que contiene la altura de los estudiantes en pies y lo almacena en una «altura» variable.

R

# Inserting data
height <- data.frame(stud=c("S-1","S-2","S-3",
                            "S-4","S-5"),
                       
                    hght=c(4.7, 5.5, 4.9, 6.1,
                           6.4))
  
head(height)

Producción:

Parcela de barra

R

# Bar Plot
library(ggplot2)
  
  
plt <-ggplot(data=height, aes(x=stud, y=hght,fill=stud)) +
  geom_bar(stat="identity")+
  theme_classic()
  
plt

Producción:

Agregar dos ejes Y en cada lado

A medida que la escala entra en escena, tenemos que usar la función de R scale_y_continuous() que viene en el paquete ggplot2 . Además, se usa otra función sec_axis() para agregar un eje secundario y asignarle las especificaciones. La sintaxis es:

sec_axis(trans,name,breaks,labels,guide)

Parámetros que necesitamos:

trans : Una fórmula o función necesaria para transformar.

name : El nombre del eje secundario.

Ahora, para transformar la escala en pies a escala en centímetros, necesitamos el factor de escala. Para convertir usa:

1 feet = 30.48 cm

Ahora, en el argumento trans dentro de sec_axis() use el valor del factor de escala anterior y escriba la fórmula de conversión como se muestra a continuación:

R

# Making two Y axes
plt+scale_y_continuous(
  "feet",sec.axis=sec_axis(~.*30.48,name="centi meter"))

Producción:

Publicación traducida automáticamente

Artículo escrito por rishabhchakrabortygfg 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 *