2017-11-01 3 views
0

y 축에 표시 할 (n)이있는 data.frame이 있고 x 축에는 날짜와 시간이있는 날짜가 있습니다. chr ("2017-01-01 00:00")입니다. 하루 24 시간, 1 시간마다.날짜 x 축의 R

> HourLogins 
      date hour n   datehour nr   datehour2 
1 2017-10-01 0 767 2017-10-01 0:00:00 1 2017-10-01 0:00:00 
2 2017-10-01 1 459 2017-10-01 1:00:00 2 2017-10-01 1:00:00 
3 2017-10-01 2 310 2017-10-01 2:00:00 3 2017-10-01 2:00:00 
4 2017-10-01 3 234 2017-10-01 3:00:00 4 2017-10-01 3:00:00 
5 2017-10-01 4 180 2017-10-01 4:00:00 5 2017-10-01 4:00:00 
6 2017-10-01 5 207 2017-10-01 5:00:00 6 2017-10-01 5:00:00 
7 2017-10-01 6 280 2017-10-01 6:00:00 7 2017-10-01 6:00:00 
8 2017-10-01 7 631 2017-10-01 7:00:00 8 2017-10-01 7:00:00 
9 2017-10-01 8 1254 2017-10-01 8:00:00 9 2017-10-01 8:00:00 
10 2017-10-01 9 1683 2017-10-01 9:00:00 10 2017-10-01 9:00:00 

나는 지금 follwing을 플롯을하고 있어요 : 무엇 나오는 것은 기본적으로 괜찮

ggplot(data = HourLogins, aes(x = datehour2, y = n)) + 
    geom_line(size = 0.8, linetype = "dashed") + 
    geom_point(size = 2.0) 

. 그러나 data.frame에는 300 행이 포함되어 있기 때문에 충분한 공간이 없기 때문에 축 - 라벨을 볼 수 없습니다. 지금은 하루에 하나의 값만 그려야합니다. '2017-01-01 00:00'과 같습니다. 나는 그걸하는 법을 모른다.

미리 도움을 주셔서 감사합니다.

다니엘

+0

ggplot2에서 [날짜를 \ gxplot2로 스케일링] 가능한 중복 (https://stackoverflow.com/questions/10576095/formatting-dates-with-scale-x-date-in-ggplot2) –

+0

날짜/시간 열을 문자열에서 POSIXct 객체로 변환하는 것이 가장 좋습니다. R은 300 개의 별도 lables 대신에 숫자처럼 축을 그릴 수 있습니다. 자세한 내용은'? as.POSIXct'를보십시오. – Dave2e

답변

0

사용 scale_x_date()breaks 인수가 (이상 here 참조). 원하는 것보다 약간 수동 방식으로 시도해 볼 수도 있습니다 (자세한 내용은 this 참조).