Używam ggplot do tworzenia wykresów i zawsze lubię przesuwać punkty danych w poziomie, aby paski błędów nie nakładały się. Odkryłem, że gdy użyłem danych daty dla mojej osi x, tracę możliwość kompensowania punktów danych.R i ggplot- Zmiana osi X na Data usuwa uniknięcie pozycji
DF=data.frame(Date=c("2006-09-01", "2007-09-01", "2008-09-01" ,"2009-09-01", "2010-01-01" ,"2011-01-01"),Count=c(1,2,3,4,5,6,2,4,6,8,10,12),Type=c('A','A','A','A','A','A','B','B','B','B','B','B'))
Gdybym wykreślić powyższej ramce danych za pomocą ggplot tak, punkty są przesunięte
dodge=position_dodge(.5)
ggplot(data=DF,aes(x=Date,y=Count,group=Type))+geom_point(position=dodge)
Ale jeśli wyznaczą dane aktualne, jak rzeczywistymi datami
DF$Date=as.Date(DF$Date)
ggplot(data=DF,aes(x=Date,y=Count,group=Type))+geom_point(position=dodge)
punkty są nie są już kompensowane, mimo że określam je jako
Unikałem tego problemu w przeszłości dzięki temu, że moje dane są ograniczone tylko do "roku" i traktuję je jako numeryczne. Ale teraz muszę podać informacje o miesiącu (wliczam dzień w mojej randce od "as.Date dostaje trochę funky, jeśli go nie uwzględniłem.)
Czy ktoś może mi powiedzieć, czy jest sposób, w jaki mogę wykreślić szeregów czasowych przy użyciu ggplot, który pozwoli mi na przesunięcie moje punkty danych i słupki błędów.
geniusz! Dziękuję za odpowiedź – Vinterwoo