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()
Si eres capaz, eres capaz de dejar una noticia acerca de qué le añadirías a esta división.