Skip to content

Instantly share code, notes, and snippets.

@Stroked
Last active July 28, 2019 23:55
Show Gist options
  • Save Stroked/8a53b56520bfb2f6baa47edff73f3c14 to your computer and use it in GitHub Desktop.
Save Stroked/8a53b56520bfb2f6baa47edff73f3c14 to your computer and use it in GitHub Desktop.
tinkerChart
license: mit
/*
Rich Colourful
Red #f78888
Orange #f3d250
gray #ececec
lightblue #90CCF4
Blue #5DA2d5
*/
/* Strong Bold
blue1 #5baad6 blue2 #9bcdea
green #b0ba58 #d2d990
purple #87248a #bd8fb7
green #1a9088 #8ecdcc
blue 265c8e 99b3c9
orange 265c8e f5c081
yellow #e8c230 #eedf92
*/
body {
font: 10px sans-serif;
margin: 0;
}
.tick line {
stroke: #bfbfbf;
}
.axis path{
stroke: #CCCCCC;
}
.axis .tick text{
fill: #3f3f3f;
}
.line, .area {
clip-path: url(#clip);
}
.line {
fill: none;
stroke: #666;
stroke-width: 1.5px;
}
/* classic colours
.line.tmp { stroke: #44a648 }
.area.tmp { fill: #f0f9f0; }
.line.hr { stroke: #4559aa }
.area.hr { fill: #f4f5fa; }
.bar.bp { stroke: #bd915a }
*/
/* rich */
svg.tmp .line { stroke: #f78888 }
svg.tmp .area { fill: #fbeded; }
.line.hr { stroke: #4559aa }
.area.hr { fill: #f4f5fa; }
.bar.bp { stroke: #f78888 }
text.title {
text-anchor: start;
fill: black;
font: 14px sans-serif;
}
circle {fill:#408af1 }
div.tooltip {
position: absolute;
text-align: center;
width: 70px;
height: 28px;
padding: 5px;
font: 12px sans-serif;
background: #ffffff;
border: 1px solid #408af1 ;
border-radius: 4px;
pointer-events: none;
}
/* creates triangle */
div.tooltip:after {
content:"";
position:absolute;
bottom:-6px; /* value = - border-top-width - border-bottom-width */
left:33px; /* controls horizontal position */
border-width:6px 6px 0; /* vary these values to change the angle of the vertex */
border-style:solid;
border-color:#408af1 transparent;
/* reduce the damage in FF3.0 */
display:block;
width:0;
}
OBS_TAKEN_DTTM RESPIRATORY_RATE LYING_SBP LYING_DBP STANDING_SBP STANDING_DBP TEMPERATURE HEART_RATE HEART_IRREGULAR_FLAG OXYGEN_SATURATION FIO2 CONSIOUSNESS_LEVEL URINE_OUTPUT BOWEL REST_PAIN_SCORE MOVE_PAIN_SCORE WEIGHT NAUSEA_VOMITING OVERALL_RISK_INDEX BLOOD_PRESSURE_RISK_INDEX CARDIO_RISK_INDEX NEURO_RISK_INDEX RESPIRATORY_RISK_INDEX TEMPERATURE_RISK_INDEX O2SAT_RISK_INDEX ABSENT_FLAG EWSRG_PK EWSRG_CNT TRANSFER_FLAG ASSESSED_STATUS OBS_NOT_TAKEN_REASON CURRENT_OBSET_FLAG STRKR_NOTE STRKR_NOTE NOTE PARTIAL_FLAG INCOMPLETE_FLAG
2013-01-15 08:45:14.000 28 121 85 NULL NULL 36.1 90 0 88 35 A NULL N No No NULL NULL 4 0 0 0 2 0 2 0 3420 NULL 0 4 NULL 1 NULL 0 0
2013-01-15 09:39:35.000 25 122 81 NULL NULL 36.1 87 0 92 24 A NULL N No No NULL NULL 2 0 0 0 2 0 0 0 4091 NULL 0 2 NULL 1 NULL 0 0
2013-01-15 11:19:44.000 16 157 102 NULL NULL 37.0 83 0 95 24 A NULL N No No NULL NULL 1 0 0 0 0 0 1 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-01-15 14:01:50.000 27 118 81 NULL NULL 36.2 86 0 92 24 A NULL N 0 0 NULL NULL 2 0 0 0 2 0 0 0 4091 NULL 0 2 NULL 1 NULL 0 0
2013-01-15 15:43:46.000 29 118 91 NULL NULL 36.9 84 0 96 28 A NULL N No No NULL NULL 3 0 0 0 2 0 1 0 4091 NULL 0 3 NULL 1 NULL 0 0
2013-01-15 16:29:39.000 22 123 71 NULL NULL 36.7 71 0 93 24 A NULL NULL 0 NULL NULL NULL 2 0 0 0 1 0 1 0 4091 NULL 0 2 NULL 1 NULL 0 0
2013-01-15 18:22:13.000 24 122 70 NULL NULL 36.1 67 0 91 28 A NULL N No No NULL NULL 1 0 0 0 1 0 0 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-01-15 22:04:49.000 20 130 81 NULL NULL 36.3 57 0 95 21 A NULL N No No NULL NULL 1 0 0 0 0 0 1 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-01-16 02:04:43.000 20 103 69 NULL NULL 36.2 61 0 90 21 A NULL N No No NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-01-16 07:13:15.000 20 122 82 NULL NULL 36.1 60 0 92 28 A NULL N No No NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-01-16 09:26:01.000 21 114 65 NULL NULL 36.6 77 0 93 28 A NULL NULL 0 0 NULL NULL 2 0 0 0 1 0 1 0 4091 NULL 0 2 NULL 1 NULL 0 0
2013-01-16 13:36:41.000 21 127 65 NULL NULL 36.6 66 0 95 28 A NULL NULL 0 0 NULL NULL 2 0 0 0 1 0 1 0 4091 NULL 0 2 NULL 1 NULL 0 0
2013-01-16 19:16:06.000 18 122 67 NULL NULL 36.1 92 0 90 28 A NULL N 0 0 NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-01-16 19:48:34.000 20 105 77 NULL NULL 36.8 89 0 90 28 A NULL N No No NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-01-16 21:47:31.000 16 109 72 NULL NULL 36.1 86 0 93 28 A NULL N 0 0 NULL NULL 1 0 0 0 0 0 1 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-01-17 02:14:41.000 17 112 65 NULL NULL 36.2 70 0 93 21 A NULL N 0 0 NULL NULL 1 0 0 0 0 0 1 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-01-17 06:58:22.000 18 110 69 NULL NULL 36.2 89 0 94 28 A NULL N 3 5 NULL NULL 1 0 0 0 0 0 1 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-01-17 10:14:58.000 20 104 66 NULL NULL 36.8 78 0 88 28 A NULL N No No NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-01-17 14:34:45.000 22 120 62 NULL NULL 37.1 75 0 94 24 A NULL NULL NULL NULL NULL NULL 2 0 0 0 1 0 1 0 4091 NULL 0 2 NULL 1 NULL 0 0
2013-01-17 19:44:47.000 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1 4091 NULL 0 2 Patient Absent 1 NULL 0 0
2013-01-17 21:36:53.000 18 100 59 NULL NULL 36.4 82 0 94 28 A NULL NULL 0 0 NULL NULL 2 1 0 0 0 0 1 0 4091 NULL 0 2 NULL 1 NULL 0 0
2013-01-18 02:06:32.000 20 109 64 NULL NULL 36.4 78 0 92 21 A NULL N 0 0 NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-01-18 06:03:37.000 18 100 52 NULL NULL 36.1 63 0 92 28 A NULL NULL 0 0 NULL NULL 1 1 0 0 0 0 0 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-01-18 10:07:29.000 19 111 64 NULL NULL 36.2 67 0 90 28 A NULL N No No NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-01-18 16:25:03.000 18 123 67 NULL NULL 36.7 71 0 91 21 A NULL N No No NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-01-18 18:56:43.000 22 120 70 NULL NULL 36.3 86 0 89 21 A NULL N No No NULL NULL 1 0 0 0 1 0 0 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-01-18 22:42:11.000 20 121 70 NULL NULL 36.4 78 0 92 21 A NULL N No No NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-01-19 02:34:47.000 20 109 47 NULL NULL 36.5 71 0 94 35 A NULL N No No NULL NULL 1 0 0 0 0 0 1 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-01-19 06:07:03.000 20 120 70 NULL NULL 36.5 73 0 91 21 A NULL N No No NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-01-19 10:33:38.000 20 118 69 NULL NULL 36.7 72 0 91 28 A NULL Y 2 2 NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-01-19 15:13:40.000 18 108 69 NULL NULL 36.4 65 0 91 21 A NULL N No No NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-01-19 21:57:25.000 20 138 74 NULL NULL 36.5 79 0 92 21 A NULL N No No NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-01-20 06:24:49.000 20 124 70 NULL NULL 36.5 53 0 92 28 A NULL N No No NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-01-20 13:24:33.000 18 99 59 NULL NULL 36.4 69 0 91 75 A NULL Y 2 2 NULL NULL 1 1 0 0 0 0 0 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-01-20 21:40:51.000 18 119 74 NULL NULL 36.6 72 0 91 21 A NULL NULL NULL NULL NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-01-21 06:17:52.000 20 117 71 NULL NULL 35.5 66 0 92 21 A NULL N No No NULL NULL 1 0 0 0 0 1 0 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-01-21 13:48:59.000 16 111 58 NULL NULL 36.9 68 0 91 21 A NULL NULL NULL NULL NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-01-21 22:08:45.000 21 124 71 NULL NULL 37.1 72 0 92 21 A NULL N 0 0 NULL NULL 1 0 0 0 1 0 0 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-01-22 07:07:15.000 20 114 68 NULL NULL 36.3 60 0 88 21 A NULL N 0 0 NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-01-22 14:00:53.000 20 107 66 NULL NULL 36.5 69 0 92 21 A NULL NULL NULL NULL NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-01-22 22:24:31.000 20 140 73 NULL NULL 39.1 110 0 90 28 A NULL N 0 0 NULL NULL 3 0 1 0 0 2 0 0 4091 NULL 0 3 NULL 1 NULL 0 0
2013-01-23 00:44:34.000 22 96 52 NULL NULL 38.7 98 0 89 28 A NULL N 0 0 NULL NULL 3 1 0 0 1 1 0 0 4091 NULL 0 3 NULL 1 NULL 0 0
2013-01-23 01:37:22.000 22 95 52 NULL NULL 37.7 94 0 90 28 A NULL N 0 0 NULL NULL 2 1 0 0 1 0 0 0 4091 NULL 0 2 NULL 1 NULL 0 0
2013-01-23 06:29:38.000 20 89 53 NULL NULL 37.3 88 0 88 28 A NULL N 0 0 NULL NULL 1 1 0 0 0 0 0 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-01-23 10:40:02.000 22 91 56 NULL NULL 36.9 76 0 92 28 A NULL NULL 0 NULL NULL NULL 2 1 0 0 1 0 0 0 4091 NULL 0 2 NULL 1 NULL 0 0
2013-01-23 13:16:03.000 20 99 49 NULL NULL 36.6 94 0 94 28 A NULL NULL 0 NULL NULL NULL 2 1 0 0 0 0 1 0 4091 NULL 0 2 NULL 1 NULL 0 0
2013-01-23 18:57:17.000 20 116 71 NULL NULL 38.4 89 0 94 21 A NULL N No No NULL NULL 2 0 0 0 0 1 1 0 4091 NULL 0 2 NULL 1 NULL 0 0
2013-01-23 21:52:14.000 20 106 66 NULL NULL 38.2 88 0 88 28 A NULL N 0 0 NULL NULL 1 0 0 0 0 1 0 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-01-24 01:42:59.000 20 99 61 NULL NULL 37.4 82 0 89 28 A NULL N 0 0 NULL NULL 1 1 0 0 0 0 0 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-01-24 06:37:47.000 20 95 57 NULL NULL 38.2 90 0 88 28 A NULL N 0 0 NULL NULL 2 1 0 0 0 1 0 0 4091 NULL 0 2 NULL 1 NULL 0 0
2013-01-24 09:59:47.000 21 110 65 NULL NULL 37.4 87 0 88 28 A NULL NULL 2 NULL NULL NULL 1 0 0 0 1 0 0 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-01-24 14:52:56.000 22 101 61 NULL NULL 37.0 88 0 91 28 A NULL N 0 0 NULL NULL 1 0 0 0 1 0 0 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-01-24 18:33:48.000 20 107 63 NULL NULL 36.9 87 0 92 28 A NULL N 0 0 NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-01-24 21:16:16.000 22 100 56 NULL NULL 37.6 87 0 94 28 A NULL NULL 3 3 NULL NULL 3 1 0 0 1 0 1 0 4091 NULL 0 3 NULL 1 NULL 0 0
2013-01-24 22:33:37.000 21 110 68 NULL NULL 37.6 89 0 92 28 A NULL N 0 0 NULL NULL 1 0 0 0 1 0 0 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-01-25 01:34:55.000 21 112 67 NULL NULL 37.9 90 0 90 28 A NULL N 0 0 NULL NULL 1 0 0 0 1 0 0 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-01-25 07:21:34.000 21 98 57 NULL NULL 37.6 97 0 90 28 A NULL N 0 0 NULL NULL 2 1 0 0 1 0 0 0 4091 NULL 0 2 NULL 1 NULL 0 0
2013-01-25 10:49:52.000 26 108 64 NULL NULL 37.4 86 0 88 28 A NULL N 0 0 NULL NULL 2 0 0 0 2 0 0 0 4091 NULL 0 2 NULL 1 NULL 0 0
2013-01-25 15:22:22.000 20 93 63 NULL NULL 36.3 75 0 92 21 A NULL N No No NULL NULL 1 1 0 0 0 0 0 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-01-25 18:22:19.000 20 108 66 NULL NULL 36.8 80 0 91 28 A NULL N No No NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-01-25 21:21:45.000 20 128 75 NULL NULL 37.0 82 0 94 24 A NULL NULL 0 0 NULL NULL 1 0 0 0 0 0 1 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-01-26 01:47:53.000 20 93 59 NULL NULL 37.5 91 0 93 28 A NULL N No No NULL NULL 2 1 0 0 0 0 1 0 4091 NULL 0 2 NULL 1 NULL 0 0
2013-01-26 06:17:18.000 18 110 62 NULL NULL 37.0 91 0 90 28 A NULL N 0 0 NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-01-26 10:43:56.000 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1 4091 NULL 0 0 Patient Absent 1 NULL 0 0
2013-01-26 13:37:07.000 22 113 63 NULL NULL 37.2 86 0 86 35 A NULL NULL 2 2 NULL NULL 2 0 0 0 1 0 1 0 4091 NULL 0 2 NULL 1 NULL 0 0
2013-01-26 18:18:12.000 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1 4091 NULL 0 2 Patient Absent 1 NULL 0 0
2013-01-26 21:51:42.000 20 113 59 NULL NULL 38.3 96 0 86 28 A NULL N No No NULL NULL 2 0 0 0 0 1 1 0 4091 NULL 0 2 NULL 1 NULL 0 0
2013-01-27 01:57:42.000 19 103 66 NULL NULL 37.4 82 0 80 28 A NULL NULL NULL NULL NULL NULL 2 0 0 0 0 0 2 0 4091 NULL 0 2 NULL 1 NULL 0 0
2013-01-27 06:11:28.000 19 122 63 NULL NULL 36.8 87 0 86 28 A NULL NULL NULL NULL NULL NULL 1 0 0 0 0 0 1 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-01-27 08:57:58.000 31 133 73 NULL NULL 36.5 95 0 71 28 A NULL N 5 5 NULL NULL 6 0 0 0 3 0 3 0 4091 NULL 0 6 NULL 1 NULL 0 0
2013-01-27 09:52:16.000 24 115 62 NULL NULL 37.2 83 0 89 35 A NULL N No No NULL NULL 1 0 0 0 1 0 0 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-01-27 10:59:08.000 26 106 65 NULL NULL 36.6 77 0 86 24 A NULL N No No NULL NULL 3 0 0 0 2 0 1 0 4091 NULL 0 3 NULL 1 NULL 0 0
2013-01-27 12:02:27.000 26 108 65 NULL NULL 37.6 86 0 85 24 A NULL N No No NULL NULL 3 0 0 0 2 0 1 0 4091 NULL 0 3 NULL 1 NULL 0 0
2013-01-27 13:25:09.000 24 111 64 NULL NULL 36.8 84 0 84 24 A NULL N No No NULL NULL 2 0 0 0 1 0 1 0 4091 NULL 0 2 NULL 1 NULL 0 0
2013-01-27 15:24:39.000 29 134 63 NULL NULL 37.2 80 0 86 24 A NULL N No No NULL NULL 3 0 0 0 2 0 1 0 4091 NULL 0 3 NULL 1 NULL 0 0
2013-01-27 16:46:12.000 32 122 66 NULL NULL 37.8 86 0 87 28 A NULL N No No NULL NULL 3 0 0 0 3 0 0 0 4091 NULL 0 3 NULL 1 NULL 0 0
2013-01-27 18:23:43.000 28 140 77 NULL NULL 37.0 83 0 86 28 A NULL N 0 0 NULL NULL 3 0 0 0 2 0 1 0 4091 NULL 0 3 NULL 1 NULL 0 0
2013-01-27 20:23:44.000 28 110 65 NULL NULL 36.4 80 0 75 28 A NULL N No No NULL NULL 5 0 0 0 2 0 3 0 4091 NULL 0 5 NULL 1 NULL 0 0
2013-01-27 20:31:43.000 28 110 65 NULL NULL 36.4 80 0 86 28 A NULL N No No NULL NULL 3 0 0 0 2 0 1 0 4091 NULL 0 3 NULL 1 NULL 0 0
2013-01-27 21:19:18.000 24 106 65 NULL NULL 36.4 70 0 88 28 A NULL NULL 0 0 NULL NULL 1 0 0 0 1 0 0 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-01-28 02:11:05.000 22 121 73 NULL NULL 36.3 71 0 89 28 A NULL N 0 0 NULL NULL 1 0 0 0 1 0 0 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-01-28 06:54:53.000 24 120 73 NULL NULL 36.3 76 0 87 28 A NULL N 0 0 NULL NULL 1 0 0 0 1 0 0 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-01-28 11:25:08.000 28 100 61 NULL NULL 36.7 74 0 85 28 A NULL NULL NULL NULL NULL NULL 4 1 0 0 2 0 1 0 4091 NULL 0 4 NULL 1 NULL 0 0
2013-01-28 12:50:07.000 24 113 63 NULL NULL 36.6 70 0 86 31 A NULL N 5 2 NULL NULL 2 0 0 0 1 0 1 0 4091 NULL 0 2 NULL 1 NULL 0 0
2013-01-28 14:56:13.000 22 113 66 NULL NULL 36.3 74 0 88 35 A NULL N No No NULL NULL 1 0 0 0 1 0 0 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-01-28 21:42:20.000 18 116 63 NULL NULL 36.3 88 0 99 24 A NULL N 0 3 NULL NULL 1 0 0 0 0 0 1 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-01-29 01:31:44.000 18 108 61 NULL NULL 36.2 71 0 88 24 A NULL N 2 0 NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-01-29 06:14:25.000 18 111 65 NULL NULL 36.1 63 0 96 24 A NULL N 1 0 NULL NULL 1 0 0 0 0 0 1 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-01-29 10:56:07.000 21 162 61 NULL NULL 36.3 64 0 87 31 A NULL N No No NULL NULL 1 0 0 0 1 0 0 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-01-29 13:37:39.000 22 119 69 NULL NULL 36.7 72 0 87 31 A NULL N No No NULL NULL 1 0 0 0 1 0 0 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-01-29 18:54:55.000 26 124 65 NULL NULL 36.5 82 0 88 31 A NULL N 0 1 NULL NULL 2 0 0 0 2 0 0 0 4091 NULL 0 2 NULL 1 NULL 0 0
2013-01-29 21:38:35.000 22 114 72 NULL NULL 36.7 78 0 92 31 A NULL N 0 0 NULL NULL 1 0 0 0 1 0 0 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-01-30 01:26:53.000 20 100 65 NULL NULL 36.2 74 0 86 31 A NULL N 0 0 NULL NULL 2 1 0 0 0 0 1 0 4091 NULL 0 2 NULL 1 NULL 0 0
2013-01-30 06:22:35.000 20 131 84 NULL NULL 35.8 62 0 91 31 A NULL N No No NULL NULL 1 0 0 0 0 1 0 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-01-30 11:08:31.000 20 95 57 NULL NULL 36.1 69 0 90 31 A NULL NULL NULL NULL NULL NULL 1 1 0 0 0 0 0 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-01-30 18:33:35.000 13 111 71 NULL NULL 36.8 70 0 91 28 A NULL N No No NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-01-30 21:49:03.000 19 110 67 NULL NULL 36.4 69 0 90 24 A NULL N 2 2 NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-01-31 01:54:44.000 22 100 58 NULL NULL 36.1 62 0 88 28 A NULL NULL NULL NULL NULL NULL 2 1 0 0 1 0 0 0 4091 NULL 0 2 NULL 1 NULL 0 0
2013-01-31 06:12:51.000 19 103 58 NULL NULL 36.7 70 0 81 24 A NULL N 0 0 NULL NULL 2 0 0 0 0 0 2 0 4091 NULL 0 2 NULL 1 NULL 0 0
2013-01-31 10:10:22.000 22 113 69 NULL NULL 36.0 69 0 92 28 A NULL NULL NULL NULL NULL NULL 2 0 0 0 1 1 0 0 4091 NULL 0 2 NULL 1 NULL 0 0
2013-01-31 13:59:52.000 22 107 59 NULL NULL 36.7 65 0 92 28 A NULL NULL 0 0 NULL NULL 1 0 0 0 1 0 0 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-01-31 19:47:55.000 24 113 61 NULL NULL 36.2 68 0 90 28 A NULL N 2 No NULL NULL 1 0 0 0 1 0 0 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-01-31 22:00:37.000 24 113 65 NULL NULL 36.4 64 0 93 28 A NULL NULL NULL NULL NULL NULL 2 0 0 0 1 0 1 0 4091 NULL 0 2 NULL 1 NULL 0 0
2013-02-01 06:30:36.000 18 100 52 NULL NULL 36.3 62 0 94 28 A NULL NULL NULL NULL NULL NULL 2 1 0 0 0 0 1 0 4091 NULL 0 2 NULL 1 NULL 0 0
2013-02-01 15:27:28.000 22 107 63 NULL NULL 36.6 64 0 91 28 A NULL N No No NULL NULL 1 0 0 0 1 0 0 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-02-01 21:56:37.000 20 108 64 NULL NULL 37.0 64 0 92 28 A NULL NULL NULL NULL NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-02-02 06:31:35.000 20 110 59 NULL NULL 36.1 60 0 92 28 A NULL NULL NULL NULL NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-02-02 13:46:42.000 15 119 65 NULL NULL 36.5 64 0 92 28 A NULL N 1 1 NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-02-02 23:16:46.000 20 110 63 NULL NULL 36.7 73 0 90 28 A NULL N No No NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-02-03 07:21:51.000 20 105 63 NULL NULL 36.4 64 0 91 28 A NULL N No No NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-02-03 13:17:35.000 18 111 71 NULL NULL 35.9 68 0 90 28 A NULL NULL NULL NULL NULL NULL 1 0 0 0 0 1 0 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-02-03 22:45:29.000 20 124 69 NULL NULL 36.4 68 0 89 28 A NULL N No No NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-02-04 07:19:04.000 20 132 66 NULL NULL 36.2 64 0 89 28 A NULL N No No NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-02-04 15:41:26.000 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1 4091 NULL 0 0 Patient Absent 1 NULL 0 0
2013-02-04 22:44:41.000 20 115 66 NULL NULL 36.3 70 0 92 28 A NULL N No No NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-02-05 06:38:14.000 20 107 73 NULL NULL 36.1 63 0 89 28 A NULL NULL NULL NULL NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-02-05 16:39:46.000 20 115 75 NULL NULL 36.8 72 0 90 28 A NULL NULL 0 0 NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-02-05 22:18:11.000 20 122 68 NULL NULL 37.0 72 0 89 28 A NULL N 0 0 NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-02-06 07:16:00.000 20 111 69 NULL NULL 36.5 67 0 91 28 A NULL N 0 0 NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-02-06 14:03:29.000 24 109 66 NULL NULL 36.7 69 0 90 28 A NULL N 6 7 NULL NULL 1 0 0 0 1 0 0 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-02-06 22:10:28.000 20 126 75 NULL NULL 36.2 80 0 92 24 A NULL N 0 0 NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-02-07 06:35:34.000 20 96 69 NULL NULL 36.2 66 0 92 21 A NULL N No No NULL NULL 1 1 0 0 0 0 0 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-02-07 14:12:44.000 18 101 63 NULL NULL 36.7 76 0 94 28 A NULL N 0 0 NULL NULL 1 0 0 0 0 0 1 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-02-07 22:44:58.000 20 115 59 NULL NULL 36.9 64 0 91 28 A NULL N 0 0 NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-02-08 07:11:42.000 18 105 66 NULL NULL 36.2 64 0 94 28 A NULL N 0 0 NULL NULL 1 0 0 0 0 0 1 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-02-08 15:12:21.000 17 135 70 NULL NULL 37.1 80 0 89 28 A NULL N No No NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-02-08 22:49:57.000 22 129 77 NULL NULL 36.6 69 0 94 28 A NULL N 2 2 NULL NULL 2 0 0 0 1 0 1 0 4091 NULL 0 2 NULL 1 NULL 0 0
2013-02-09 07:15:34.000 20 127 71 NULL NULL 36.3 69 0 94 28 A NULL NULL 0 0 NULL NULL 1 0 0 0 0 0 1 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-02-09 15:39:23.000 19 120 68 NULL NULL 36.2 70 0 94 28 A NULL N 0 0 NULL NULL 1 0 0 0 0 0 1 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-02-09 22:15:59.000 18 125 75 NULL NULL 36.5 68 0 91 28 A NULL N 0 0 NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-02-10 07:02:44.000 18 106 61 NULL NULL 36.2 68 0 93 28 A NULL N 0 0 NULL NULL 1 0 0 0 0 0 1 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-02-10 15:17:17.000 20 117 72 NULL NULL 36.0 72 0 93 28 A NULL N 0 0 NULL NULL 2 0 0 0 0 1 1 0 4091 NULL 0 2 NULL 1 NULL 0 0
2013-02-10 22:20:14.000 15 125 70 NULL NULL 36.7 69 0 96 28 A NULL NULL 0 0 NULL NULL 1 0 0 0 0 0 1 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-02-11 09:48:55.000 20 111 68 NULL NULL 36.6 74 0 93 28 A NULL NULL 0 0 NULL NULL 1 0 0 0 0 0 1 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-02-11 15:36:45.000 22 101 62 NULL NULL 36.2 68 0 94 28 A NULL N 0 0 NULL NULL 2 0 0 0 1 0 1 0 4091 NULL 0 2 NULL 1 NULL 0 0
2013-02-11 23:02:17.000 19 123 79 NULL NULL 36.8 78 0 96 21 A NULL N No No NULL NULL 1 0 0 0 0 0 1 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-02-12 08:17:39.000 18 123 77 NULL NULL 35.8 70 0 94 21 A NULL N No No NULL NULL 2 0 0 0 0 1 1 0 4091 NULL 0 2 NULL 1 NULL 0 0
2013-02-12 14:01:13.000 18 117 57 NULL NULL 36.2 83 0 92 28 A NULL NULL 0 0 NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-02-12 22:45:19.000 20 133 78 NULL NULL 36.5 70 0 98 28 A NULL N No No NULL NULL 1 0 0 0 0 0 1 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-02-13 06:53:40.000 17 131 79 NULL NULL 36.1 97 0 93 28 A NULL NULL NULL NULL NULL NULL 1 0 0 0 0 0 1 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-02-13 14:31:36.000 19 118 79 NULL NULL 36.9 72 0 94 35 A NULL NULL 0 NULL NULL NULL 1 0 0 0 0 0 1 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-02-13 21:35:22.000 20 118 75 NULL NULL 36.6 75 0 98 28 A NULL NULL 2 2 NULL NULL 1 0 0 0 0 0 1 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-02-14 08:47:15.000 24 140 82 NULL NULL 36.0 68 0 93 28 A NULL NULL NULL NULL NULL NULL 3 0 0 0 1 1 1 0 4091 NULL 0 3 NULL 1 NULL 0 0
2013-02-14 10:25:07.000 20 105 67 NULL NULL 36.1 68 0 93 28 A NULL N 0 0 NULL NULL 1 0 0 0 0 0 1 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-02-14 15:40:01.000 21 125 80 NULL NULL 36.2 73 0 96 28 A NULL NULL NULL NULL NULL NULL 2 0 0 0 1 0 1 0 4091 NULL 0 2 NULL 1 NULL 0 0
2013-02-14 15:40:14.000 21 125 80 NULL NULL 36.2 73 0 96 28 A NULL NULL NULL NULL NULL NULL 2 0 0 0 1 0 1 0 4091 NULL 0 2 NULL 1 NULL 0 0
2013-02-14 18:26:03.000 22 125 75 NULL NULL 36.6 79 0 94 28 A NULL NULL NULL NULL NULL NULL 2 0 0 0 1 0 1 0 4091 NULL 0 2 NULL 1 NULL 0 0
2013-02-14 22:58:50.000 16 119 84 NULL NULL 36.9 75 0 95 21 A NULL N 0 0 NULL NULL 1 0 0 0 0 0 1 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-02-15 03:01:19.000 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1 4091 NULL 0 1 Patient Refused Obs (Send Alert) 1 NULL 0 0
2013-02-15 06:12:11.000 30 103 64 NULL NULL 36.0 89 0 86 28 A NULL N 0 0 NULL NULL 5 0 0 0 3 1 1 0 4091 NULL 0 5 NULL 1 NULL 0 0
2013-02-15 07:13:43.000 24 133 76 NULL NULL 36.1 92 0 90 28 A NULL N 0 0 NULL NULL 1 0 0 0 1 0 0 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-02-15 15:55:55.000 20 123 70 NULL NULL 36.5 78 0 90 28 A NULL N No No NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-02-15 23:16:04.000 20 139 78 NULL NULL 36.5 69 0 93 28 A NULL N No No NULL NULL 1 0 0 0 0 0 1 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-02-16 02:51:47.000 20 131 78 NULL NULL 36.1 73 0 89 21 A NULL N 0 0 NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-02-16 06:46:41.000 20 117 70 NULL NULL 36.4 67 0 93 28 A NULL N No No NULL NULL 1 0 0 0 0 0 1 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-02-16 11:39:25.000 18 140 74 NULL NULL 35.8 68 0 92 28 A NULL N 0 0 NULL NULL 1 0 0 0 0 1 0 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-02-16 14:09:33.000 18 114 65 NULL NULL 36.3 88 0 93 28 A NULL NULL NULL NULL NULL NULL 1 0 0 0 0 0 1 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-02-16 19:57:42.000 22 119 77 NULL NULL 36.2 74 0 89 21 A NULL N 0 0 NULL NULL 1 0 0 0 1 0 0 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-02-16 22:33:24.000 20 143 78 NULL NULL 36.9 74 0 90 28 A NULL N No No NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-02-17 02:24:34.000 19 119 77 NULL NULL 36.1 72 0 96 28 A NULL N No No NULL NULL 1 0 0 0 0 0 1 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-02-17 06:34:55.000 18 127 70 NULL NULL 36.2 75 0 89 21 A NULL N No No NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-02-17 10:15:57.000 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1 4091 NULL 0 0 Patient Absent 1 NULL 0 0
2013-02-17 14:01:09.000 18 119 75 NULL NULL 36.0 72 0 94 28 A NULL N 0 0 NULL NULL 2 0 0 0 0 1 1 0 4091 NULL 0 2 NULL 1 NULL 0 0
2013-02-17 22:12:02.000 20 117 72 NULL NULL 36.4 72 0 89 21 A NULL N No No NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-02-18 07:18:51.000 20 120 80 NULL NULL 36.3 72 0 88 28 A NULL N No No NULL NULL 0 0 0 0 0 0 0 0 4091 NULL 0 0 NULL 1 NULL 0 0
2013-02-18 14:03:47.000 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1 4091 NULL 0 0 Patient Absent 1 NULL 0 0
2013-02-18 15:02:43.000 22 133 84 NULL NULL 36.0 84 0 97 28 A NULL NULL NULL NULL NULL NULL 3 0 0 0 1 1 1 0 4091 NULL 0 3 NULL 1 NULL 0 0
2013-02-18 16:12:50.000 21 124 84 NULL NULL 36.4 84 0 98 28 A NULL N No No NULL NULL 2 0 0 0 1 0 1 0 4091 NULL 0 2 NULL 1 NULL 0 0
2013-02-18 18:28:28.000 24 131 75 NULL NULL 36.5 82 0 95 28 A NULL N No No NULL NULL 2 0 0 0 1 0 1 0 4091 NULL 0 2 NULL 1 NULL 0 0
2013-02-18 21:57:30.000 16 120 75 NULL NULL 36.3 72 0 95 28 A NULL NULL 0 0 NULL NULL 1 0 0 0 0 0 1 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-02-19 01:50:37.000 18 125 76 NULL NULL 36.1 68 0 96 28 A NULL NULL 0 0 NULL NULL 1 0 0 0 0 0 1 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-02-19 06:50:46.000 24 136 78 NULL NULL 35.9 95 0 86 28 A NULL NULL 0 0 NULL NULL 3 0 0 0 1 1 1 0 4091 NULL 0 3 NULL 1 NULL 0 0
2013-02-19 07:46:01.000 24 115 69 NULL NULL 36.4 89 0 94 28 A NULL N No No NULL NULL 2 0 0 0 1 0 1 0 4091 NULL 0 2 NULL 1 NULL 0 0
2013-02-19 11:11:27.000 17 104 67 NULL NULL 36.2 82 0 98 28 A NULL N No No NULL NULL 1 0 0 0 0 0 1 0 4091 NULL 0 1 NULL 1 NULL 0 0
2013-02-19 15:25:11.000 22 122 80 NULL NULL 36.7 85 0 95 28 A NULL N No No NULL NULL 2 0 0 0 1 0 1 0 4091 NULL 0 2 NULL 1 NULL 0 0
2013-02-19 19:21:14.000 21 124 76 NULL NULL 36.3 79 0 96 28 A NULL N No No NULL NULL 1 0 0 0 1 0 0 0 4315 NULL 0 1 NULL 1 NULL 0 0
2013-02-19 23:04:23.000 20 121 74 NULL NULL 37.1 60 0 94 28 A NULL N 0 0 NULL NULL 0 0 0 0 0 0 0 0 4315 NULL 0 0 NULL 1 NULL 0 0
2013-02-20 02:00:54.000 20 118 60 NULL NULL 36.4 66 0 93 24 A NULL N 0 0 NULL NULL 0 0 0 0 0 0 0 0 4315 NULL 0 0 NULL 1 NULL 0 0
2013-02-20 07:01:54.000 18 108 58 NULL NULL 35.9 80 0 91 24 A NULL N 0 0 NULL NULL 1 0 0 0 0 1 0 0 4315 NULL 0 1 NULL 1 NULL 0 0
2013-02-20 11:45:10.000 20 122 75 NULL NULL 36.2 74 0 92 28 A NULL N 0 No NULL NULL 0 0 0 0 0 0 0 0 4315 NULL 0 0 NULL 1 NULL 0 0
2013-02-20 15:06:36.000 19 118 69 NULL NULL 36.4 82 0 94 28 A NULL NULL 0 0 NULL NULL 0 0 0 0 0 0 0 0 4315 NULL 0 0 NULL 1 NULL 0 0
2013-02-20 19:49:26.000 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1 4315 NULL 0 0 Patient Absent 1 NULL 0 0
2013-02-20 22:03:26.000 16 135 84 NULL NULL 36.7 70 0 98 28 A NULL N 0 0 NULL NULL 0 0 0 0 0 0 0 0 4315 NULL 0 0 NULL 1 NULL 0 0
2013-02-21 01:52:55.000 18 105 69 NULL NULL 36.4 62 0 97 21 A NULL N 0 0 NULL NULL 0 0 0 0 0 0 0 0 4315 NULL 0 0 NULL 1 NULL 0 0
2013-02-21 07:23:13.000 17 102 70 NULL NULL 36.1 59 0 97 28 V NULL NULL 0 0 NULL NULL 1 0 0 1 0 0 0 0 4315 NULL 0 1 NULL 1 NULL 0 0
2013-02-21 11:31:37.000 24 115 74 NULL NULL 36.3 78 0 93 28 A NULL N 0 No NULL NULL 1 0 0 0 1 0 0 0 4315 NULL 0 1 NULL 1 NULL 0 0
<!DOCTYPE html>
<div>
<button value=1>1day</button>
<button value=3>3days</button>
<button value=7>7days</button>
<button value=30>30days</button>
</div>
<script src="https://d3js.org/d3.v5.min.js"></script>
<link rel="stylesheet" href="cStyle.css">
<script>
/************************/
// config from sencha
var cfg = [
{
title: 'Temperature',
unit: 'oC',
cls: 'tmp',
height: 80,
displayRange: [34,42],
type: 'line',
columnName: 'TEMPERATURE'
},
{
title: 'Pulse',
unit: 'BPM',
cls: 'hr',
height: 90,
displayRange: [40,180],
type: 'line',
columnName: 'HEART_RATE'
},
{
title: 'Lying Blood Pressure',
cls: 'bp',
unit: '',
height: 180,
displayRange: [20,260],
type: 'BP',
columnName: 'LYING_SBP',
columnName2: 'LYING_DBP'
}
];
var d3c = d3c || {
parseTime: d3.utcParse("%Y-%m-%d %H:%M:%S.%L"),
formatTime: d3.utcFormat("%e %B"),
plot: [],
x:{}, // shared x axis function
xAxis:{}, //
timeExtent: [],
//plotG: [], //
// y:[], // Array of y axises
// tip: []
};
// Setup size & margins
var margin = {top: 30, right: 20, bottom: 20, left: 30, gapBetweenCharts: 40},
width = 1000 - margin.left - margin.right,
height = margin.top + margin.bottom;
for(var i=0; i<cfg.length; i++)
{
height += cfg[i].height + margin.gapBetweenCharts;
}
height = height - margin.gapBetweenCharts;
d3c.setup = function(cfg, height, width, margin){
d3c.x = d3.scaleTime().rangeRound([0, width]);
/************************/
// Add the canvases
for(var i=0; i<cfg.length; i++)
{
d3c.plot.push({
g: null, //plotG
line: null, // line series
area: null, // line shading
circle: null, // hover marker
mline: null, // not working
y: null, // plot y axis
yAxis:{},// render y axis
tip:null,
data: [] // datetime/value data required for the plot
});
var s = d3.select("body").append("svg")
.attr("class", cfg[i].cls)
.attr("width", width + margin.left + margin.right)
.attr("height", cfg[i].height + margin.top + margin.bottom);
d3c.plot[i].g = s.append("g")
.attr("class", "g-cls")
.attr("transform", "translate(" + margin.left + "," + margin.top + ")");
s.append("defs").append("clipPath")
.attr("id", "clip")
.append("rect")
.attr("width", width)
.attr("height", cfg[i].height);
d3c.plot[i].y= d3.scaleLinear().rangeRound([cfg[i].height, 0]);
d3c.plot[i].tip = d3.select("body").append("div")
.attr("class", "tooltip tip_" + i)
.style("opacity", 0);
}
for(var i=0; i<cfg.length; i++)
{
d3c.plot[i].line = d3.line()
.defined(function (d) { return d.value !== 0; }) // exclude 0 (NULL)
.x(function(d) { return d3c.x(d.date); })
.y(function(d) { return d3c.plot[d.idx].y(d.value); });
d3c.plot[i].area = d3.area()
.defined(d3c.plot[i].line.defined())
.x(d3c.plot[i].line.x())
.y1(d3c.plot[i].line.y())
.y0(d3c.plot[i].y(0));
}
// Load the data
d3.tsv("data.tsv", function(d) {
d.date = d3c.parseTime(d.OBS_TAKEN_DTTM);
for(var i=0; i<cfg.length; i++)
{
// convert column values to int and replace null as 0
d[cfg[i].columnName] = +(d[cfg[i].columnName]=='NULL'?0:d[cfg[i].columnName]);
d3c.plot[i].data.push({
idx: i,
date:d.date,
value:d[cfg[i].columnName],
value2:d[cfg[i].columnName2]
});
}
return d;
}, function(error, data) {
if (error) throw error;
// Get max/min Extent of date data
d3c.timeExtent = d3.extent(data, function(d) { return d.date; });
// x-axis min/max Set min extent 3 days before last data item
var startExtent = new Date(d3c.timeExtent[1].getTime() + -5*24*3600000 /*days*/);
var jj = d3c.getTimeExtent(3);
console.log(jj);
d3c.x.domain(d3c.getTimeExtent(3));//
d3c.xAxis = d3.axisBottom(d3c.x).ticks(6);
// y-axis min/max static range from config
for(var i=0; i<cfg.length; i++)
{
d3c.plot[i].y.domain(cfg[i].displayRange);
d3c.plot[i].yAxis = d3.axisLeft(d3c.plot[i].y)
.ticks(5)
.tickSize(-width);
}
/************************/
// Draw each chart
for(var i=0; i<cfg.length; i++)
{
// Draw x-axis time
var g = d3c.plot[i].g;
g.append("g")
.attr("class", "axis axis--x")
.attr("transform", "translate(0," + cfg[i].height + ")")
.call(d3c.xAxis);
var pan = g.append("g").attr("class", "y pan");
// Draw y-axis
g.append("g").attr("class", "axis axis--y")
.call(d3c.plot[i].yAxis)
.append("text") //axis label
.attr("class", "title " + cfg[i].cls)
.attr("y", -7)
.text(cfg[i].title);
// Draw Type = Line
if(cfg[i].type=='line'){
pan.append("path") .attr("class", "ll line " + cfg[i].cls)
.datum(d3c.plot[i].data)
.attr("fill", "none")
.attr("stroke", "steelblue")
.attr("stroke-linejoin", "round")
.attr("stroke-linecap", "round")
.attr("stroke-width", 1.5)
.attr("d", d3c.plot[i].line);
pan.append("path").attr("class", "ll area " + cfg[i].cls)
.datum(d3c.plot[i].data)
.attr("d", d3c.plot[i].area[i])
}
// Draw Type = BP
if(cfg[i].type=='BP'){
var dataBar = d3c.plot[i].data.filter(function(d){
return d.value !== 0 && d.value2 !== 0;
});
var b = pan.selectAll("BP")
.data(dataBar)
.enter().append("g")
.attr("class", "BP bar " + cfg[i].cls)
.attr("transform", function(d) {
return "translate(" + d3c.x(d.date)+ ",0)"});
b.append("rect") //middle
.attr("width", 1)
.attr("y", function(d) { return d3c.plot[i].y(d.value)})
.attr("height", function(d) {
return d3c.plot[i].y(d.value2) - d3c.plot[i].y(d.value); })
b.append("rect") //head cap
.attr("x", -3)
.attr('y', function(d) { return d3c.plot[i].y(d.value)})
.attr("width", 7.3)
.attr("height", 1);
b.append("rect") // foot cap
.attr("x", -3 )
.attr('y', function(d) { return d3c.plot[i].y(d.value2)})
.attr("width", 7)
.attr("height", 1);
}
/************************/
// Draw marker circle and line
d3c.plot[i].circle = pan.append("circle")
.attr("r",3)
.style("opacity", 0)
.attr("class", cfg[i].cls);
d3c.plot[i].mline = pan.append("line")
.attr("x1",0).attr("x2",0)
.attr("y1",0).attr("y2",cfg[i].height)
.attr("class", "mline");
var et = [
[ d3c.x(d3c.timeExtent[0]), 0 ],
[ d3c.x(d3c.timeExtent[1]), cfg[i].height ]
];
// x-pan only
var zoom = d3.zoom()
.scaleExtent([1,1]) //Dont scale
.translateExtent(et) //Dont pan-y
.on("zoom", d3c.zoomed);
d3.selectAll("svg")
.call(zoom)
// hover panel for tooltip
g.append("rect").attr("class", "hoverPanel " + cfg[i].cls)
.attr("width", width)
.attr("height", cfg[i].height)
.style('fill', 'transparent')
.on('mousemove', d3c.identifyMouse);
//tip.push(g.append("div")
// .attr("class", "tooltip tip_" + i)
//.style("opacity", 0));
}
});
}
d3c.zoomed = function() {
var t = d3.event.transform;
t.y = 0;
xt = t.rescaleX(d3c.x);
// if (d3.event.sourceEvent && d3.event.sourceEvent.type === "brush") return; // ignore zoom-by-brush
d3.selectAll("svg").selectAll("bar").attr("transform", t);
//x.domain(getTimeExtent(days));
for(var i=0; i<cfg.length; i++)
{
var plot = d3c.plot[i];
plot.g.select(".line").attr("d", plot.line.x(function(d) { return xt(d.date); }));
plot.g.select(".area").attr("d", plot.area.x(function(d) { return xt(d.date); }));
plot.g.select(".axis--x").call(d3c.xAxis.scale(xt));
}
}
d3c.getTimeExtent = function (days){
var start = new Date(d3c.timeExtent[1].getTime() + -days*24*3600000 /*days*/);
return [start, d3c.timeExtent[1]];
}
// scale x-axis
d3.selectAll("button").on("click", function(){
var days = d3.select(this).attr('value');
d3c.x.domain(d3c.getTimeExtent(days));
for(var i=0; i<cfg.length; i++)
{
var plot = d3c.plot[i];
plot.g.select(".axis--x").transition()
.duration(2500)
.call(d3c.xAxis);
plot.g.select(".line").transition()
.duration(2500)
.attr("d", plot.line);
plot.g.select(".area").transition()
.duration(2500)
.attr("d", plot.area);
plot.g.selectAll(".bar").attr("transform", d3.zoom().scale );
}
});
d3c.identifyMouse =function(){
var bisect = d3.bisector(function(d){ return d.date; }).left;
var coordinates = d3.mouse(this);
var xInv = d3c.x.invert( coordinates[0] );
var yOffset = -10;
for(var i=0; i<cfg.length; i++)
{
var plot = d3c.plot[i];
var dataBar = plot.data.filter(function(d){
return d.value !== 0 && d.value2 !== 0;
});
var pos = bisect(dataBar, xInv, 0, dataBar.length);
var smaller = dataBar[pos-1];
var larger = dataBar[pos];
var match = xInv - smaller.x < larger.x - xInv ? smaller : larger;
plot.tip.transition()
.duration(200)
.style("opacity", .9)
.transition().delay(1000)
.duration(400).style("opacity", 0);
plot.tip.html(d3c.formatTime(match.date) + "<br/>" + match.value)
.style("left", d3c.x(match.date) + "px")
.style("top", yOffset + plot.y(match.value) + "px");
yOffset += cfg[i].height + margin.gapBetweenCharts;
plot.circle.transition()
.duration(70)
.style("opacity", .9)
.attr('cx', d3c.x(match.date))
.attr('cy', plot.y(match.value))
.transition().delay(1000)
.duration(400).style("opacity", 0);
plot.mline
.attr("x1", d3c.x(match.date))
.attr("x2", d3c.x(match.date))
}
}
d3c.setup(cfg, height, width, margin);
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment