2013-02-23 13 views
6

Ho il seguente diagrammapunti di collegamento

require(ggplot2) 

dtf <- structure(list(Variance = c(5.213, 1.377, 0.858, 0.613, 0.412, 0.229, 0.139, 0.094, 0.064), Component = structure(1:9, .Label = c("PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9"), class = "factor")), .Names = c("Variance", "Component"), row.names = c(NA, -9L), class = "data.frame") 

ggplot(dtf, aes(x = Component, y = Variance)) + 
geom_point() 

enter image description here

Vorrei semplicemente di collegare i punti con linee rette. Ho provato +geom_line() ma che ha generato un errore

risposta

18

per i x valori sono discreti (fattore) e geom_line() ogni valore univoco x percepiscono come gruppo separato e cerca di collegarsi punti solo all'interno di questo gruppo. L'impostazione group=1 in aes() assicura che tutti i valori vengano considerati come un unico gruppo.

ggplot(dtf, aes(x = Component, y = Variance,group=1)) + 
    geom_point()+geom_line() 
+1

(+1) probabilmente dovresti spiegare perché è successo. – Arun

+0

+1 bello, grazie. Mi ci sarebbero voluti anni per risolverlo! –

+2

Se stai utilizzando un'estetica aggiuntiva per confrontare i dati di condizioni diverse sugli stessi assi con qualcosa come 'x = Throttle, y = Acceleration, color = Widget' puoi aggiungere' group = Widget' per disegnare linee che collegano punti dal stessi widget. –

0

Ciò tracciare i punti con x come i valori interi delle categorie di fattori:

ggplot(dtf, aes(x = as.numeric(Component), y = Variance)) + 
     geom_point() + geom_line() 

Si può mettere di nuovo nelle etichette categoria con:

ggplot(dtf, aes(x = as.numeric(Component), y = Variance)) + 
    geom_point() +geom_line() + scale_x_discrete(labels=dtf$Component) 
+0

Grazie. Il problema principale di questo è che richiede anche la modifica dell'etichetta dell'asse x per evitare di pronunciare "as.numeric (Component)" –

+0

Accetto. Non era certamente ottimale. Richiede 2 correzioni e finora ne ho applicato solo uno. Dovresti accettare l'altra risposta. –

Problemi correlati