Problema
Queremos añadir etiquetas a los extremos de una legenda continua en ggplot2. Así podremos saber el mínimo y el máximo.
library(ggplot2)
d <- subset(diamonds, price >= 257 & price <= 8888)
ggplot(d, aes(depth, carat, colour = price)) +
geom_point() +
scale_colour_gradient(limits = c(257, 8888))
Se observa en la leyenda como las etiquetas van del 2.000 al 8.000 pero no sabemos ni el mínimo ni el máximo.
Solución
Dentro de scale_colour_gradient, especificamos los argumentos breaks y labels.
ggplot(d, aes(depth, carat, colour = price)) +
geom_point() +
scale_colour_gradient(limits = c(257, 8888),
breaks = c(257, 2000, 4000, 6000, 8000, 8888),
labels = c(257, 2000, 4000, 6000, 8000, 8888))
Ahora hemos añadido a la leyenda el mínimo 257 y el máximo 8.888.
Extra
Si queremos que en lugar de una escala de azules, parta de un color diferente, por ejemplo el rojo, añadimos el argumento low. Si queremos modificar el color superior introduciríamos el argumento high.
ggplot(d, aes(depth, carat, colour = price)) +
geom_point() +
scale_colour_gradient(limits = c(257, 8888),
breaks=c(257, 2000, 4000, 6000, 8000, 8888),
labels=c(257, 2000, 4000, 6000, 8000, 8888), low = "red")
Referencias
Entradas relacionadas
No hay comentarios:
Publicar un comentario