Saltar al contenido

Razones por las que la leyenda de ggplot2 no aparece

Solución:

colour= XYZ debería estar dentro del aes(),no afuera:

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

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

Espero que ayude, me tomó un largo camino averiguarlo.

Está realizando 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” (consulte 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 manera 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

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



Utiliza Nuestro Buscador

Deja una respuesta

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