Seltsamerweise kann ich nichts online finden, um dieses Problem zu lösen, das ich habe.geom_line Gruppen und scale_color_manual Produzieren Unerwarteter Fehler
Generieren von Daten:
rm(list = ls())
library(ggplot2)
X <- as.numeric(1:100)
df <- data.frame(x=X,y=rnorm(n=100,sd=.1)+sin(X*pi/200),gp=1)
for (i in 2:4) df <- rbind(df,data.frame(x=X,y=rnorm(n = 100,sd = .1)+sin(X*i*pi/200),gp=i))
Der Kopf dieses Datenrahmen wie folgt aussieht:
x y gp
1 1 0.030678982 1
2 2 0.108093934 1
3 3 0.067512201 1
4 4 0.186648638 1
5 5 0.109397764 1
6 6 -0.005158247 1
Plausibiltätsprüfung:
> unique(df$gp)
[1] 1 2 3 4
Nun, alles, was ich tun möchte, ist Plot dieses 4 Linien mit verschiedenen kontrastierenden Farben; das heißt, ich mag nicht, folgend:
> p <- ggplot(data = df,aes(x=x,y=y,group=gp,color=gp))+geom_line()+theme_bw()
> p
In der obigen Handlung, ist die Legende horrend und die Linien haben eine schrecklichen Kontrast. Warum ist das so schwer? Also versuchte ich folgendes:
> p <- ggplot(data = df,aes(x=x,y=y,group=gp,color=gp))+geom_line()+theme_bw()+scale_color_manual(values = c('red','blue','green','black'))
> p
, die ergibt:
Error: Continuous value supplied to discrete scale
Wie kann ich ggplot sagen, gib mir nur eine große Auswahl an Farben und sie auf jede Zeile (gekennzeichnet durch group=gp
)?
Excellent! Vielen Dank! –
Kein Problem! Froh, dass es geholfen hat –