Załóżmy, że mam dataframe:Korzystanie `geom_line()` z osią X oznacza czynniki
hist <- data.frame(date=Sys.Date() + 0:13,
counts=1:14)
Chcę wykreślić całkowitej wliczane tygodnia, używając linię połączyć punkty. Poniższa stawia punktów na każdej wartości:
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)
Kiedy próbuję połączyć je linią (geom_line()
) ggplot narzeka mając tylko jedną obserwację danych w każdej grupie, a tym samym nie jest w stanie narysować linię między punktami.
Rozumiem to - próbuję narysować jedną linię dla każdego dnia tygodnia (poziom czynnika).
Jak mogę sprawić, by ggplot udawał (na potrzeby samej linii), że dni tygodnia są numeryczne? Być może muszę mieć kolejną kolumnę day_of_week
, która jest 0 dla poniedziałku, 1 dla wtorek, etc?
fantastyczne! Jaki jest cel 'group = 1' (dlaczego 1? Co to robi?) –
Och, myślę, że znalazłem to. [tutaj (dokumentacja ggplot2)] (http://docs.ggplot2.org/current/aes_group_order.html) –
Jeśli chcesz wydrukować wiele linii naraz, powinieneś podać 'group = variableWhichDefinesLines ' –