Leyenda compartida para una cuadrícula de vacas en R

En este artículo, discutiremos cómo crear una cuadrícula de diagrama de vaca con la leyenda compartida en el lenguaje de programación R.

Para hacer esto, primero haremos una cuadrícula básica de vacas con dos parcelas que tengan sus propias leyendas por separado. Para hacerlo usando el paquete de cuadrícula cowplot en el lenguaje R, usamos la función plot_grid() y pasamos todas las parcelas que necesitamos en la cuadrícula como parámetros.

Sintaxis: plot_grid(plot1,plot2,label=<etiqueta-vector>, ncol, nrow)

Ejemplo:

Una cuadrícula básica de vacas con dos parcelas que tienen leyendas separadas.

R

# Create sample data                           
sample_data <- data.frame(
  name = c("Geek1","Geek2","Geek3",
           "Geek4","Geeek5") ,
  value=c(31,12,15,28,45))
  
# Load ggplot2 and cowplot
library("ggplot2") 
library("cowplot")
  
# Create both plot and store in variable
plot1<-ggplot(sample_data, aes(x=name, y=value, fill=name)) +
        geom_bar(stat = "identity")
  
plot2<-ggplot(sample_data, aes(x="", y=value, fill=name))+
        geom_bar(width = 1, stat = "identity") +
        coord_polar("y", start=0)
  
# plot_grid() function adds both plots in a cowplot grid
plot_grid(plot1, plot2)

Producción:

Cuadrícula de diagrama de vaca de Legend compartida

Para crear una cuadrícula de cowplot con leyenda compartida, no hay un método integrado, pero la funcionalidad se puede lograr siguiendo estos pasos:

Paso 1: Cree parcelas para ponerlas en la cuadrícula sin leyenda usando:

plot + theme(legend.position = "none")

Paso 2: ahora combina ambas gráficas usando la función plot_grid() y guárdala en una variable:

combined_plot<-plot_grid(plot1, plot2, ...... ncol)

Paso 3: Ahora extraemos la leyenda de una de las gráficas anteriores para ponerla en la gráfica combinada usando:

legend <- get_legend( plot1 )

Paso 4: finalmente, combine el gráfico combinado con la leyenda derivada usando la función plot_grid para obtener el aspecto deseado para el gráfico de leyenda compartido.

plot_grid(combined_plot, legend, ncol)

Ejemplo:

Aquí, hay una implementación del enfoque anterior para obtener una cuadrícula de diagrama de vacas con leyenda compartida.

R

# Create sample data                           
sample_data <- data.frame(
  name = c("Geek1","Geek2","Geek3",
           "Geek4","Geeek5") ,
  value=c(31,12,15,28,45))
  
# Load ggplot2 and cowplot
library("ggplot2") 
library("cowplot")
  
# Create both plot without legend and store in variable
plot1<-ggplot(sample_data, aes(x=name, y=value, fill=name)) +
        geom_bar(stat = "identity")+
        theme(legend.position = "none")
  
plot2<-ggplot(sample_data, aes(x="", y=value, fill=name))+
        geom_bar(width = 1, stat = "identity") +
        coord_polar("y", start=0)+
        theme(legend.position = "none")
  
# combine both plot using plot_grid()
combined_plot<-plot_grid(plot1, plot2,ncol=2)
  
# extract legend from plot1
legend <- get_legend(
  plot1 +
    guides(color = guide_legend(nrow = 1)) +
    theme(legend.position = "bottom")
)
  
# Combine combined plot and legend using plot_grid()
plot_grid(combined_plot, legend,ncol=1,rel_heights = c(1, .1))

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 *