일별 합계를 계산하여 연속적으로 수집되는 일부 강수량 데이터가 있습니다. 다음과 같이geom_step을 사용하여 일일 강우량 데이터 플로팅
Date <- c(seq(as.Date("2016-07-01"), by = "1 day", length.out = 10))
rain_mm <- c(3,6,8,12,0,0,34,23,5,1)
rain_data <- data.frame(Date, rain_mm)
내가이 데이터를 플롯 할 수 있습니다 :
ggplot(rain_data, aes(Date, rain_mm)) +
geom_bar(stat = "identity") +
scale_x_date(date_labels = "%d")
다음을 제공합니다 :
이 잘 보이는 몇 가지 장난감 데이터입니다. 특정 날에 얼마나 많은 강우량이 있었는지는 분명합니다. 그러나 하루의 정오와 다음 정오 사이에는 일정한 양의 비가 내렸다고 해석 할 수 있습니다. 이는 잘못된 것입니다. 같은 기간에 그래프가 관련 연속 변수의 다른 플롯과 결합되는 경우 특히 문제가됩니다.
library(ggplot)
ggplot(rain_data, aes(Date, rain_mm)) +
geom_step() +
scale_x_date(date_labels = "%d")
주는 :
이 데이터를 표시하는 더 좋은 방법이며, 지금 scale_x_date가 나타납니다
다음과 같이 내가geom_step
를 사용할 수있는이 문제를 피해 갈하려면 연속 축이다. 그러나, 채워진 단계 아래의 영역을 얻는 것이 좋을 것이지만, 이것을하지 않는 직접적인 방법을 찾는 것 같습니다.
1 : 어떻게 geom_step 아래에 기입합니까? 가능한가?
또한이 SO question here에서 설명한 바와 같이 멀티 플롯 도면에서 동일한 X 축을 용이 POSIXct
Date
으로 변환하는 것이 유용 할 수있다. 다음과 같이 나는이 작업을 수행 할 수 있습니다
library(dplyr)
rain_data_POSIX <- rain_data %>% mutate(Date = as.POSIXct(Date))
Date rain_mm
1 2016-07-01 01:00:00 3
2 2016-07-02 01:00:00 6
3 2016-07-03 01:00:00 8
4 2016-07-04 01:00:00 12
5 2016-07-05 01:00:00 0
6 2016-07-06 01:00:00 0
7 2016-07-07 01:00:00 34
8 2016-07-08 01:00:00 23
9 2016-07-09 01:00:00 5
10 2016-07-10 01:00:00 1
그러나, 이것은 각각의 날짜 01:00 시간을 제공합니다. 차라리 00:00 있습니다. as.POSIXct
함수 호출에서이를 변경할 수 있습니까, 아니면 나중에 별도의 함수를 사용하여 수행해야합니까? 나는 그것이 tz = ""
와 관련이 있다고 생각하지만 그럴 수 없다.
Date
에서 POSIXct
으로 어떻게 변환하여 생성 시간이 00:00이 될 수 있습니까?
감사
첫 번째 질문은 잠재적 중복의이다 : http://stackoverflow.com/questions/21887088/generate-a-filled-geom-step
나는 좋은 결과 발견 –
seconde 질문 :''TZ = "GMT"를 시도하거나 1시간 제거 :'as.POSIXct (날짜) - 3600' .. 나는 그것을 보았지만 정말 답을 알아낼 수 – timat
@ArtemSokolov. 최근에 어떤 것이 바뀌 었는지보고 싶었습니다. 'TZ = "GMT"@timat 감사 –