Saltar al contenido

Razones por las que no aparece la leyenda ggplot2

Este tutorial ha sido analizado por nuestros expertos para garantizar la exactitud de esta sección.

colour= XYZ debe estar dentro de la aes(),no afuera:

geom_point(aes(data, colour=XYZ)) #------>legend

geom_point(aes(data),colour=XYZ)  #------>no legend

Espero que te sirva, me tomó mucho tiempo darme cuenta.

Estás yendo sobre la configuración del color de una manera completamente incorrecta. Ha establecido el color en un valor de carácter constante en varias capas, en lugar de asignarlo al valor de una variable en una sola capa.

Esto se debe en gran parte a que sus datos no están “ordenados” (vea lo siguiente)

head(df)
  x           a          b          c
1 1 -0.71149883  2.0886033  0.3468103
2 2 -0.71122304 -2.0777620 -1.0694651
3 3 -0.27155800  0.7772972  0.6080115
4 4 -0.82038851 -1.9212633 -0.8742432
5 5 -0.71397683  1.5796136 -0.1019847
6 6 -0.02283531 -1.2957267 -0.7817367

En su lugar, primero debe remodelar sus datos:

df <- data.frame(x=1:10, a=rnorm(10), b=rnorm(10), c=rnorm(10))
mdf <- reshape2::melt(df, id.var = "x")

Esto produce un formato más adecuado:

head(mdf)
 x variable       value
1 1        a -0.71149883
2 2        a -0.71122304
3 3        a -0.27155800
4 4        a -0.82038851
5 5        a -0.71397683
6 6        a -0.02283531

Esto hará que sea mucho más fácil de usar con ggplot2 de la forma prevista, donde el color se asigna al valor de una variable:

ggplot(mdf, aes(x = x, y = value, colour = variable)) + 
    geom_point() + 
    geom_line()

Salida de la llamada ggplot

Si eres capaz, eres capaz de dejar una noticia acerca de qué le añadirías a esta división.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags :

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *