Ho un set di dati denominato "unito", che contiene 3 colonne numeriche "pauseMedian" e "numTotalPauses" e "diff". Ho anche un set di dati splineHull, che contiene anche colonne numeriche "pauseMedian" e "numTotalPauses", più un fattore di 6 livelli "microstyle"Errore ggplot2: Valore discreto fornito a scala continua
Ho il seguente codice, che funziona perfettamente. Traccia un plop scatter e quindi lo sovrappone a poligoni spline di scafo colorati secondo "microstyle".
Script 1:
ggplot(data=merged,aes(x = pauseMedian, y = numTotalPauses))
+ geom_point()
+ geom_polygon(data = splineHull,
mapping=aes(x=pauseMedian,
y=numTotalPauses,
group=microstyle,
color = microstyle),
alpha=0)
Poi, voglio anche cambiare il colore dei punti del grafico a dispersione con l'aggiunta di un solo attributo color = diff.
sceneggiatura 2:
ggplot(data=merged,aes(x = pauseMedian, y = numTotalPauses, color = diff))
+ geom_point()
+ geom_polygon(data = splineHull,
mapping=aes(x=pauseMedian,
y=numTotalPauses,
group=microstyle,
color = microstyle),
alpha=0)
vedo il seguente errore:
Error: Discrete value supplied to continuous scale
Non so il motivo per cui io vedo questo errore. Se voglio ancora il grafico a dispersione colorata ma non i poligoni, eseguo il seguente codice e funziona di nuovo.
Script 3:
ggplot(data=merged,aes(x = pauseMedian, y = numTotalPauses, color = diff))
+ geom_point()
Allora, che cosa è accaduto con sceneggiatura 2, dove è l'errore, e come posso farlo funzionare?
Sembra strano: è difficile individuare l'errore senza visualizzare i dati di esempio. Inoltre, hai provato a spostare 'color = diff' in' geom_point (aes (color = diff)) '? –
@ SeñorO Ciao, sì, l'ho provato. Ha dato lo stesso errore. Nello script 2, ci sono due attributi di colore, uno in ggplot aes, l'altro in geom_polygon aes. Al primo viene assegnato un valore numerico "diff", a quest'ultimo viene assegnato un valore fattore "microstyle". Immagino, forse ggplot non può gestire un colore numerico e un fattore di colore allo stesso tempo? – nan
In realtà potrebbe essere corretto ora che ci penso - perché è necessario creare una legenda per il colore. Prova a utilizzare 'fill = microstyle' per il poligono –