es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

ggplot: ¿Cómo etiquetar los paneles al utilizar `facet_zoom()` del paquete `ggforce`?

Cuando se usa la función facet_zoom() del paquete {ggforce}, ¿hay alguna manera de etiquetar los propios componentes?

Por ejemplo, se puede producir el siguiente gráfico:

library(ggplot2)
library(ggforce)

ggplot(iris, aes(Petal.Length, Petal.Width, colour = Species)) +
  geom_point() +
  facet_zoom(x = Species == 'versicolor') +
  labs(caption = "Figura 1. a) rango de datos completo; b) acercamiento en versicolor") +
  theme_bw() +
  theme(plot.caption = element_text(hjust = 0))

Pero, ¿cómo puedo etiquetar los componentes? Quiero lograr algo como:

demo

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, es posible etiquetar las facetas al usar facet_zoom() del paquete {ggforce}. Puedes usar la función facet_label() del mismo paquete para agregar etiquetas a las facetas. Por ejemplo, el siguiente código producirá la salida deseada:

    library(ggplot2)
    library(ggforce)
    
    ggplot(iris, aes(Petal.Length, Petal.Width, colour = Species)) +
      geom_point() +
      facet_zoom(x = Species == 'versicolor') +
      facet_label(label = c("Rango Completo de Datos", "Acércate a Versicolor")) +
      labs(caption = "Figura 1. a) rango completo de datos; b) acércate a versicolor") +
      theme_bw() +
      theme(plot.caption = element_text(hjust = 0))
    

    Creado en 2021-11-19 por el paquete reprex (v2.0.1)

Comments are closed.