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()
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)