2017-04-13 3 views
0

나는 우리가 운영하는 rain-gages의 정확성 (QC)을 확인하기 위해 두 세트의 시계열 데이터 (강우량)를 비교하는 함수를 구축하고 있습니다. 기록에 갭이있는 데이터 파일이 플롯되면 리뷰어가 이러한 게이지 중 하나 이상이 잘못 기록되어서 QC 프로세스가 왜곡 될 수 있다고 생각하게 할 수 있습니다.null 데이터 값 ("NA")을 포함하는 플롯 (geom_bar) 영역을 표시하는 방법은 무엇입니까?

빨간색 x, 원 또는 그와 비슷한 것을 플롯하여 특정 날짜에 특정 스테이션에 데이터가 없음을 사용자에게 알리는 방법을 찾고 싶습니다.이 방법으로 사용자는 분명히 볼 수 있습니다 해당 데이터가 누락되어 있으며 검토 과정에서 기록의 특정 부분을 생략해야합니다.

이 DF를 사용하여 모든 아이디어를

  date usgs noaa 
1 2017-01-01 0.00 0.0000 
2 2017-01-02 0.57 0.0906 
3 2017-01-03 0.75 0.4410 
4 2017-01-04 0.00 0.5790 
5 2017-01-05 0.00 0.0000 
6 2017-01-06 0.01 0.0000 
7 2017-01-07 0.46  NA 
8 2017-01-08 0.00  NA 
9 2017-01-09 0.00 0.0000 
10 2017-01-10 0.00 0.0000 

allRN

이 코드 :

plotnames <- c(noaa = "Precip, Milton, DE, NOAA", usgs = "Precip,Ng45-02 Well, USGS") 
    xdateaxis <- "3 days" 
    allRN <- allRN %>% 
    gather(site, precip, -date) 

    ggplot(allRN, aes(x = date, y = precip)) + 
    labs (x = "", y = "Precipitation, inches") + 
    geom_bar(stat = "identity", position =  "dodge", na.rm = FALSE) + 
    facet_wrap(~site, nrow = 2, labeller =  as_labeller(plotnames)) + 
    scale_x_datetime(date_breaks = xdateaxis,  date_labels = "%m-%d") + 
    theme_bw() + theme(axis.text.x = element_text(angle = 45, hjust = 1)) 

Link to example of plot output when data is missing

+1

다른 사람들이 함께 작업 할 수 있도록 샘플 데이터를 추가하십시오. – Zafar

+0

죄송합니다. 신기한 실수! – Todd

답변

0

방법이있어? 미적의 값으로 is.na(precip)를 사용하면 다음 포인트 나 막대를 만들 수 있습니다 또는 당신이 무엇을, 등등과 같은 당신이 FALSENATRUE은 색상이나 점 모양입니다 그래서 그 결과 규모를 설정 한대로, 좋아

require(lubridate) 
df.rain <- data_frame(date = mdy("01-01-2017") + 0:9, 
         usgs = c(0,.57,.75,0,0,.01,.46,0,0,0), 
         noaa = c(0,.0906,.4410,.5790,0,0,NA,NA, 0,0)) %>% 
    gather(site, precip, -date) 

ggplot(df.rain, aes(date, precip)) + facet_grid(site~.) + 
    geom_col() + 
    geom_tile(aes(x = date, y = -.1, 
       height = 0.1, width = 1, 
       fill = is.na(precip))) + 
    scale_fill_manual(values = c(NA, "red")) + 
    scale_y_continuous(sec.axis = dup_axis(breaks = -0.1, 
             labels = "Missing\ndata:", 
             name = NULL)) + 
    guides(fill = F) + 
    theme_bw() 

enter image description here

+1

위대해, 고마워! 정말로 좋은 생각! 건배! – Todd