Supponiamo che io sono un dataframe:Usando `geom_line()` con l'asse X essere fattori
hist <- data.frame(date=Sys.Date() + 0:13,
counts=1:14)
voglio tracciare il conteggio totale contro giorno della settimana, utilizzando una lineaper collegare i punti. Di seguito mette punti su ogni valore:
hist <- transform(hist, weekday=factor(weekdays(date),
levels=c('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday')))
ggplot(hist, aes(x=weekday, y=counts)) + geom_point(stat='summary', fun.y=sum)
Quando provo a collegarli con una linea (geom_line()
), ggplot lamenta di avere solo un'osservazione di dati per gruppo e quindi non è in grado di tracciare una linea tra i punti.
Capisco questo: sta cercando di disegnare una riga per ogni giorno della settimana (livello del fattore).
Come posso ottenere ggplot solo per far finta (solo per gli scopi della linea) che i giorni della settimana sono numerici? Forse devo avere un'altra colonna day_of_week
che è 0 per lunedì, 1 per martedì, ecc.?
Fantastico! Qual è lo scopo di 'group = 1' (perché 1? Che cosa fa?) –
Oh, penso di averlo trovato. [qui (documentazione ggplot2)] (http://docs.ggplot2.org/current/aes_group_order.html) –
Nel caso in cui si desideri stampare più righe contemporaneamente, è necessario specificare 'group = variableWhichDefinesLines ' –