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?
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ónlabs
establece los títulos de la leyenda para el color y el tamaño. La funciónguides
te permite personalizar el tamaño de ambas leyendas. Al estableceroverride.aes
ysize
, 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 usaroverride.aes
.