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.

Cómo añadir una leyenda en ggplot

He escrito este código:

ggplot() +
  geom_sf(aes(fill = dat$color_province)) +
  theme_void() +

  geom_point(data = producer, 
             aes(x = producer$MX, y = producer$MY), size = 3, col = "green", shape = 17, alpha = 0.6) +

  geom_point(data = distribution, 
             aes(x = distribution$MX, y = distribution$MY), size = 4.5, col = "yellow", shape = 15) +

  geom_point(data = retailer, 
             aes(x = retailer$MX, y = retailer$MY), size = 3, col = "slateblue", shape = 16) +

  geom_point(data = Demand, 
             aes(x = Demand$MX, y = Demand$MY, size = Demand$De), col = "slateblue", shape = 17, alpha = 0.7) +

  scale_fill_manual(values = c("#ff3333", "#ffc266"),
                    name = "Situation")

y ahora quiero agregar una leyenda para identificar todos los puntos en mi gráfico. ¿Cómo puedo hacerlo?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para agregar una leyenda que identifique todos los puntos en el gráfico, puedes agregar el siguiente código al final de la cadena ggplot:

    {r}
    ggplot() +
    ... # código anterior aquí
    scale_fill_manual(values = c("#ff3333", "#ffc266"), name = "Situación") +
    labs(colour = "Título de la Leyenda", # establece el título de la leyenda
    size = "Tamaño de la Demanda") + # establece la etiqueta de la leyenda para el tamaño
    guides(colour = guide_legend(override.aes = list(size = 4)), # establece el tamaño de la leyenda de color
    size = guide_legend()) # establece el tamaño de la leyenda de tamaño

    La función scale_fill_manual establece los colores y el nombre de la leyenda. La función labs establece los títulos de la leyenda para el color y el tamaño. La función guides te permite personalizar el tamaño de ambas leyendas. Al establecer override.aes y size, puedes ajustar el tamaño de la leyenda de color. Para la leyenda de tamaño, solo necesitas establecer el tamaño de los puntos, por lo que no necesitas usar override.aes.

Comments are closed.