above.60 <- c(17,18,18,7,7,10,26,58,41,72,32,31,13,54,73,68,76,61,33,37,37,23,20,15,22,20,12,9,7,7,23,25,52,59,64,60,30,60,33,58,48,49,53,51,40,17,26,8,13,3,1,4,6,19,93,100,58,48,70,47,42,35,33,19,59,56,31,55,39,21,23,31,11,3,4,4,3,21,71,50,33,27,62,44,56,40,12,28,34,25,40,54,53,36,24,17,10,3,6,4,8,24,85,71,64,49,30,25,60,62,47,38,38,54,56,56,41,26,23,25,16,10,4,6,8,24,57,34,38,29,32,40,34,41,44,30,26,26,35,44,49,35,20,18,14,12,6,10,10,17,84,54,28,33,30,50,50,34,44,20,60,33,58,39,28,40,44,51,20,21,17,8,11,20,46,43,56,43,41,52,59,36,67,36,30,51,59,71,29,46,35,28,18,16,17,9,9,8,14,24,30,61,57,61,64,57,39,26,24,31,66,56,23,23,29,16,4,4,1,4,4,24,97,60, 61,46,75,54,49,32,35,49,43,24,47,69,43,45,19,17,7,7,4,4,1,19,59,26,14,48,62,29,56,74,50,81,63,33,32,22,23,38,22,18,10,3,5,3,7,21,57,77,46,51,30,35,56,40,69,56,75,56,37,30,22,12,31,21,20,5,3,7,10,18,108,68,18,28,46,60,79,68,77,41,39,34,53,28,23,46,44,36,12,5,5,10,4,14,79,91,55,51,25,16,32,45,38,39,62,76,60,36,52,47,34,11,21,17,9,10,11,21,30,32,84,73,22,25,20,50,49,94,73,79,37,30,22,22,24,16) below.60 <- c(105,65,49,28,29,44,110,189,389,617,745,845,920,803,736,774,743,710,657,394,273,224,233,166,116,92,45,29,30,29,60,159,260,480,570,696,765,737,703,698,837,627,502,346,290,200,99,65,20,14,5,9,13,79,327,802,949,534,448,589,572,555,667,930,1029,1021,680,418,298,223,136,62,42,11,13,6,12,63,365,890,973,616,503,629,556,568,759,999,1033,1080,736,508,313,292,170,100,41,21,19,16,19,62,358,850,909,560,584,619,609,612,735,932,1052,1032,777,479,384,322,162,99,55,19,15,22,18,79,390,868,1034,620,575,624,650,579,777,966,1086,1169,770,565,398,336,206,112,66,29,25,10,21,60,349,862,941,620,659,661,642,686,804,1031,1096,1121,867,644,398,353,219,154,95,90,36,36,29,43,91,221,424,691,878,871,841,829,760,835,854,769,617,352,275,254,207,176,114,93,70,31,31,39,61,147,286,488,574,645,680,674,693,822,801,672,508,347,267,221,97,51,24,8,6,7,18,56,322,836,899,562,490,503,536,524,689,887,1036,1096,631,383,291,210,111,75,37,12,6,8,14,55,364,925,1036,543,510,574,570,469,739,876,978,1058,715,484,297,287,173,85,41,16,13,14,21,63,379,871,990,597,563,614,596,609,689,917,1052,1089,763,511,280,331,172,88,64,24,14,8,14,73,335,867,1012,629,569,565,651,569,703,928,999,1103,793,567,422,350,188,97,72,26,23,16,17,67,335,754,978,643,623,629,668,685,760,1058,1130,1052,790,616,345,256,219,184,101,67,34,30,35,62,123,259,396,680,733,874,905,743,808,666,761,674,606,448,289,268,201,188) total <- c(122,83,67,35,36,54,136,247,430,689,777,876,933,857,809,842,819,771,690,431,310,247,253,181,138,112,57,38,37,36,83,184,312,539,634,756,795,797,736,756,885,676,555,397,330,217,125,73,33,17,6,13,19,98,420,902,1007,582,518,636,614,590,700,949,1088,1077,711,473,337,244,159,93,53,14,17,10,15,84,436,940,1006,643,565,673,612,608,771,1027,1067,1105,776,562,366,328,194,117,51,24,25,20,27,86,443,921,973,609,614,644,669,674,782,970,1090,1086,833,535,425,348,185,124,71,29,19,28,26,103,447,902,1072,649,607,664,684,620,821,996,1112,1195,805,609,447,371,226,130,80,41,31,20,31,77,433,916,969,653,689,711,692,720,848,1051,1156,1154,925,683,426,393,263,205,115,111,53,44,40,63,137,264,480,734,919,923,900,865,827,871,884,820,676,423,304,300,242,204,132,109,87,40,40,47,75,171,316,549,631,706,744,731,732,848,825,703,574,403,290,244,126,67,28,12,7,11,22,80,419,896,960,608,565,557,585,556,724,936,1079,1120,678,452,334,255,130,92,44,19,10,12,15,74,423,951,1050,591,572,603,626,543,789,957,1041,1091,747,506,320,325,195,103,51,19,18,17,28,84,436,948,1036,648,593,649,652,649,758,973,1127,1145,800,541,302,343,203,109,84,29,17,15,24,91,443,935,1030,657,615,625,730,637,780,969,1038,1137,846,595,445,396,232,133,84,31,28,26,21,81,414,845,1033,694,648,645,700,730,798,1097,1192,1128,850,652,397,303,253,195,122,84,43,40,46,83,153,291,480,753,755,899,925,793,857,760,834,753,643,478,311,290,225,204) hour <- factor(c("1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24")) weekday <- factor(c("Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Sun","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Mon","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Tue","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Wed","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Thu","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Fri","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat","Sat")) workday <- factor(c("no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","yes","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no","no")) day <- factor(c("night","night","night","night","night","night","night","day","day","day","day","day","day","day","day","day","day","day","day","night","night","night","night","night","night","night","night","night","night","night","night","day","day","day","day","day","day","day","day","day","day","day","day","night","night","night","night","night","night","night","night","night","night","night","night","day","day","day","day","day","day","day","day","day","day","day","day","night","night","night","night","night","night","night","night","night","night","night","night","day","day","day","day","day","day","day","day","day","day","day","day","night","night","night","night","night","night","night","night","night","night","night","night","day","day","day","day","day","day","day","day","day","day","day","day","night","night","night","night","night","night","night","night","night","night","night","night","day","day","day","day","day","day","day","day","day","day","day","day","night","night","night","night","night","night","night","night","night","night","night","night","day","day","day","day","day","day","day","day","day","day","day","day","night","night","night","night","night","night","night","night","night","night","night","night","day","day","day","day","day","day","day","day","day","day","day","day","night","night","night","night","night","night","night","night","night","night","night","night","day","day","day","day","day","day","day","day","day","day","day","day","night","night","night","night","night","night","night","night","night","night","night","night","day","day","day","day","day","day","day","day","day","day","day","day","night","night","night","night","night","night","night","night","night","night","night","night","day","day","day","day","day","day","day","day","day","day","day","day","night","night","night","night","night","night","night","night","night","night","night","night","day","day","day","day","day","day","day","day","day","day","day","day","night","night","night","night","night","night","night","night","night","night","night","night","day","day","day","day","day","day","day","day","day","day","day","day","night","night","night","night","night","night","night","night","night","night","night","night","day","day","day","day","day","day","day","day","day","day","day","day","night","night","night","night","night","night","night","night","night","night","night","night","day","day","day","day","day","day","day","day","day","day","day","day","night","night","night","night","night")) cardata <- data.frame(above.60, below.60, total, hour, weekday, workday, day) cardata$prop <- cardata$"below.60"/apply(cardata[,c("below.60","above.60")], 1, sum) n <- dim(cardata)[1] xrange <- c(0, n+1) library(grid) push.viewport( viewport(x=unit(3, "lines"), width=unit(1, "npc") - unit(4, "lines"), y=unit(3, "lines"), height=unit(1, "npc") - unit(5, "lines"), just=c("left", "bottom"), layout=grid.layout(5, 1, heights=unit(rep(3, 1), rep(c("mm", "null"), length=5))), xscale=xrange, gp=gpar(fontsize=8))) grid.rect(x=unit((1:n)[cardata$day == "night"], "native"), width=unit(1, "native"), gp=gpar(col=NULL, fill="light grey")) grid.rect() grid.xaxis(at=seq(1, n, 24), label=FALSE) grid.text(cardata$weekday[seq(1, n, 24)], x=unit(seq(1, n, 24)+12.5, "native"), y=unit(-1, "lines")) draw.workday <- function(row) { push.viewport(viewport(layout.pos.row=row, xscale=xrange)) grid.rect(gp=gpar(fill="white")) x <- (1:n)[cardata$workday == "yes"] grid.rect(x=unit(x, "native"), width=unit(1, "native"), gp=gpar(fill="black")) pop.viewport() } draw.workday(1) push.viewport(viewport(layout.pos.row=2, xscale=xrange, yscale=c(0.5, 1))) grid.lines(unit(1:n, "native"), unit(cardata$prop, "native")) grid.yaxis() pop.viewport() draw.workday(3) push.viewport( viewport(layout.pos.row=4, xscale=xrange, yscale=c(0, max(cardata$total)))) grid.lines(unit(1:n, "native"), unit(cardata$total, "native")) grid.yaxis() pop.viewport() draw.workday(5)