flagship · day × hour
Crashes by day of week and hour The classic safety-analysis matrix: weekday AM/PM commute peaks in deep maroon, the weekend late-night shelf visible on Saturday and Sunday. Hover a cell — or Tab in and walk the matrix with arrow keys in two dimensions — for the exact count. Column labels auto-thin so the 24-hour axis never shingles.
Mon · 12a: 8 Mon · 1a: 9 Mon · 2a: 12 Mon · 3a: 7 Mon · 4a: 8 Mon · 5a: 7 Mon · 6a: 20 Mon · 7a: 31 Mon · 8a: 36 Mon · 9a: 33 Mon · 10a: 19 Mon · 11a: 12 Mon · 12p: 7 Mon · 1p: 8 Mon · 2p: 10 Mon · 3p: 26 Mon · 4p: 39 Mon · 5p: 48 Mon · 6p: 39 Mon · 7p: 23 Mon · 8p: 12 Mon · 9p: 9 Mon · 10p: 3 Mon · 11p: 3 Tue · 12a: 7 Tue · 1a: 10 Tue · 2a: 9 Tue · 3a: 5 Tue · 4a: 8 Tue · 5a: 9 Tue · 6a: 20 Tue · 7a: 32 Tue · 8a: 40 Tue · 9a: 31 Tue · 10a: 20 Tue · 11a: 6 Tue · 12p: 8 Tue · 1p: 6 Tue · 2p: 13 Tue · 3p: 27 Tue · 4p: 39 Tue · 5p: 44 Tue · 6p: 39 Tue · 7p: 27 Tue · 8p: 14 Tue · 9p: 6 Tue · 10p: 3 Tue · 11p: 7 Wed · 12a: 8 Wed · 1a: 10 Wed · 2a: 6 Wed · 3a: 6 Wed · 4a: 6 Wed · 5a: 8 Wed · 6a: 17 Wed · 7a: 30 Wed · 8a: 36 Wed · 9a: 33 Wed · 10a: 20 Wed · 11a: 6 Wed · 12p: 3 Wed · 1p: 4 Wed · 2p: 11 Wed · 3p: 22 Wed · 4p: 40 Wed · 5p: 44 Wed · 6p: 40 Wed · 7p: 25 Wed · 8p: 15 Wed · 9p: 6 Wed · 10p: 7 Wed · 11p: 3 Thu · 12a: 9 Thu · 1a: 9 Thu · 2a: 12 Thu · 3a: 5 Thu · 4a: 6 Thu · 5a: 11 Thu · 6a: 17 Thu · 7a: 29 Thu · 8a: 40 Thu · 9a: 34 Thu · 10a: 18 Thu · 11a: 10 Thu · 12p: 4 Thu · 1p: 9 Thu · 2p: 14 Thu · 3p: 24 Thu · 4p: 38 Thu · 5p: 47 Thu · 6p: 40 Thu · 7p: 27 Thu · 8p: 12 Thu · 9p: 5 Thu · 10p: 3 Thu · 11p: 4 Fri · 12a: 11 Fri · 1a: 11 Fri · 2a: 8 Fri · 3a: 7 Fri · 4a: 7 Fri · 5a: 10 Fri · 6a: 20 Fri · 7a: 29 Fri · 8a: 36 Fri · 9a: 32 Fri · 10a: 19 Fri · 11a: 8 Fri · 12p: 6 Fri · 1p: 7 Fri · 2p: 15 Fri · 3p: 24 Fri · 4p: 37 Fri · 5p: 46 Fri · 6p: 41 Fri · 7p: 24 Fri · 8p: 15 Fri · 9p: 9 Fri · 10p: 3 Fri · 11p: 2 Sat · 12a: 26 Sat · 1a: 28 Sat · 2a: 24 Sat · 3a: 22 Sat · 4a: 15 Sat · 5a: 13 Sat · 6a: 11 Sat · 7a: 12 Sat · 8a: 12 Sat · 9a: 13 Sat · 10a: 12 Sat · 11a: 8 Sat · 12p: 4 Sat · 1p: 5 Sat · 2p: 10 Sat · 3p: 12 Sat · 4p: 14 Sat · 5p: 20 Sat · 6p: 19 Sat · 7p: 12 Sat · 8p: 6 Sat · 9p: 4 Sat · 10p: 4 Sat · 11p: 4 Sun · 12a: 25 Sun · 1a: 25 Sun · 2a: 27 Sun · 3a: 19 Sun · 4a: 14 Sun · 5a: 11 Sun · 6a: 11 Sun · 7a: 11 Sun · 8a: 15 Sun · 9a: 11 Sun · 10a: 12 Sun · 11a: 5 Sun · 12p: 7 Sun · 1p: 6 Sun · 2p: 10 Sun · 3p: 14 Sun · 4p: 16 Sun · 5p: 18 Sun · 6p: 14 Sun · 7p: 13 Sun · 8p: 10 Sun · 9p: 5 Sun · 10p: 8 Sun · 11p: 9 Mon Tue Wed Thu Fri Sat Sun 12a 2a 4a 6a 8a 10a 12p 2p 4p 6p 8p 10p 2–11.2 11.2–20.4 20.4–29.6 29.6–38.8 38.8–48 < tux-chart-heatmap
: rows = " days "
: cols = " hours "
: values = " crashMatrix "
units = "crashes"
/> slate ramp · value labels · missing data
Travel-time index by corridor and month Small matrices (≤ ~12 columns) can afford in-cell values — turn on value-labels. The slate ramp is the neutral second voice for a dashboard already anchored by a maroon exhibit. Two sensor outages render as hollow hatched cells and read "No data" — a hole is a hole, never a zero.
I-35 Austin · Jan: 1.47 1.47 I-35 Austin · Feb: 1.50 1.50 I-35 Austin · Mar: 1.52 1.52 I-35 Austin · Apr: 1.54 1.54 I-35 Austin · May: 1.52 1.52 I-35 Austin · Jun: 1.54 1.54 I-35 Austin · Jul: 1.57 1.57 I-35 Austin · Aug: 1.59 1.59 I-35 Austin · Sep: 1.58 1.58 I-35 Austin · Oct: 1.51 1.51 I-35 Austin · Nov: 1.52 1.52 I-35 Austin · Dec: 1.53 1.53 I-45 Houston · Jan: 1.44 1.44 I-45 Houston · Feb: 1.40 1.40 I-45 Houston · Mar: 1.43 1.43 I-45 Houston · Apr: No data I-45 Houston · May: 1.48 1.48 I-45 Houston · Jun: 1.47 1.47 I-45 Houston · Jul: 1.53 1.53 I-45 Houston · Aug: 1.51 1.51 I-45 Houston · Sep: 1.45 1.45 I-45 Houston · Oct: 1.44 1.44 I-45 Houston · Nov: 1.47 1.47 I-45 Houston · Dec: 1.43 1.43 US-75 Dallas · Jan: 1.37 1.37 US-75 Dallas · Feb: 1.32 1.32 US-75 Dallas · Mar: 1.35 1.35 US-75 Dallas · Apr: 1.33 1.33 US-75 Dallas · May: 1.40 1.40 US-75 Dallas · Jun: 1.38 1.38 US-75 Dallas · Jul: 1.39 1.39 US-75 Dallas · Aug: 1.39 1.39 US-75 Dallas · Sep: 1.43 1.43 US-75 Dallas · Oct: 1.34 1.34 US-75 Dallas · Nov: 1.32 1.32 US-75 Dallas · Dec: 1.34 1.34 I-10 San Antonio · Jan: 1.28 1.28 I-10 San Antonio · Feb: 1.28 1.28 I-10 San Antonio · Mar: 1.30 1.30 I-10 San Antonio · Apr: 1.27 1.27 I-10 San Antonio · May: 1.30 1.30 I-10 San Antonio · Jun: 1.37 1.37 I-10 San Antonio · Jul: 1.33 1.33 I-10 San Antonio · Aug: 1.36 1.36 I-10 San Antonio · Sep: 1.31 1.31 I-10 San Antonio · Oct: 1.31 1.31 I-10 San Antonio · Nov: 1.30 1.30 I-10 San Antonio · Dec: 1.26 1.26 I-27 Lubbock · Jan: 1.16 1.16 I-27 Lubbock · Feb: 1.10 1.10 I-27 Lubbock · Mar: 1.11 1.11 I-27 Lubbock · Apr: 1.17 1.17 I-27 Lubbock · May: 1.14 1.14 I-27 Lubbock · Jun: 1.16 1.16 I-27 Lubbock · Jul: 1.19 1.19 I-27 Lubbock · Aug: 1.21 1.21 I-27 Lubbock · Sep: 1.20 1.20 I-27 Lubbock · Oct: No data I-27 Lubbock · Nov: 1.12 1.12 I-27 Lubbock · Dec: 1.10 1.10 I-35 Austin I-45 Houston US-75 Dallas I-10 San Antonio I-27 Lubbock Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec 1.10–1.22 1.22–1.35 1.35–1.47 1.47–1.59 No data < tux-chart-heatmap
: rows = " corridors "
: cols = " months "
: values = " ttiMatrix "
ramp = "slate"
: bins = " 4 "
value-labels
: height = " 220 "
: format = " ( n ) => n. toFixed ( 2 ) "
: decimals = " 2 "
units = "TTI"
/> print posture
Static, for reports :tooltip="false" drops the hover layer for PDF / print contexts (the family contract), and the legend can go when a TuxChartFrame caption or a TuxMapLegend nearby already carries the ramp. The SVG <title> per cell and the derived screen-reader summary stay.
Mon · 12a: 8 Mon · 1a: 9 Mon · 2a: 12 Mon · 3a: 7 Mon · 4a: 8 Mon · 5a: 7 Mon · 6a: 20 Mon · 7a: 31 Mon · 8a: 36 Mon · 9a: 33 Mon · 10a: 19 Mon · 11a: 12 Mon · 12p: 7 Mon · 1p: 8 Mon · 2p: 10 Mon · 3p: 26 Mon · 4p: 39 Mon · 5p: 48 Mon · 6p: 39 Mon · 7p: 23 Mon · 8p: 12 Mon · 9p: 9 Mon · 10p: 3 Mon · 11p: 3 Tue · 12a: 7 Tue · 1a: 10 Tue · 2a: 9 Tue · 3a: 5 Tue · 4a: 8 Tue · 5a: 9 Tue · 6a: 20 Tue · 7a: 32 Tue · 8a: 40 Tue · 9a: 31 Tue · 10a: 20 Tue · 11a: 6 Tue · 12p: 8 Tue · 1p: 6 Tue · 2p: 13 Tue · 3p: 27 Tue · 4p: 39 Tue · 5p: 44 Tue · 6p: 39 Tue · 7p: 27 Tue · 8p: 14 Tue · 9p: 6 Tue · 10p: 3 Tue · 11p: 7 Wed · 12a: 8 Wed · 1a: 10 Wed · 2a: 6 Wed · 3a: 6 Wed · 4a: 6 Wed · 5a: 8 Wed · 6a: 17 Wed · 7a: 30 Wed · 8a: 36 Wed · 9a: 33 Wed · 10a: 20 Wed · 11a: 6 Wed · 12p: 3 Wed · 1p: 4 Wed · 2p: 11 Wed · 3p: 22 Wed · 4p: 40 Wed · 5p: 44 Wed · 6p: 40 Wed · 7p: 25 Wed · 8p: 15 Wed · 9p: 6 Wed · 10p: 7 Wed · 11p: 3 Thu · 12a: 9 Thu · 1a: 9 Thu · 2a: 12 Thu · 3a: 5 Thu · 4a: 6 Thu · 5a: 11 Thu · 6a: 17 Thu · 7a: 29 Thu · 8a: 40 Thu · 9a: 34 Thu · 10a: 18 Thu · 11a: 10 Thu · 12p: 4 Thu · 1p: 9 Thu · 2p: 14 Thu · 3p: 24 Thu · 4p: 38 Thu · 5p: 47 Thu · 6p: 40 Thu · 7p: 27 Thu · 8p: 12 Thu · 9p: 5 Thu · 10p: 3 Thu · 11p: 4 Fri · 12a: 11 Fri · 1a: 11 Fri · 2a: 8 Fri · 3a: 7 Fri · 4a: 7 Fri · 5a: 10 Fri · 6a: 20 Fri · 7a: 29 Fri · 8a: 36 Fri · 9a: 32 Fri · 10a: 19 Fri · 11a: 8 Fri · 12p: 6 Fri · 1p: 7 Fri · 2p: 15 Fri · 3p: 24 Fri · 4p: 37 Fri · 5p: 46 Fri · 6p: 41 Fri · 7p: 24 Fri · 8p: 15 Fri · 9p: 9 Fri · 10p: 3 Fri · 11p: 2 Sat · 12a: 26 Sat · 1a: 28 Sat · 2a: 24 Sat · 3a: 22 Sat · 4a: 15 Sat · 5a: 13 Sat · 6a: 11 Sat · 7a: 12 Sat · 8a: 12 Sat · 9a: 13 Sat · 10a: 12 Sat · 11a: 8 Sat · 12p: 4 Sat · 1p: 5 Sat · 2p: 10 Sat · 3p: 12 Sat · 4p: 14 Sat · 5p: 20 Sat · 6p: 19 Sat · 7p: 12 Sat · 8p: 6 Sat · 9p: 4 Sat · 10p: 4 Sat · 11p: 4 Sun · 12a: 25 Sun · 1a: 25 Sun · 2a: 27 Sun · 3a: 19 Sun · 4a: 14 Sun · 5a: 11 Sun · 6a: 11 Sun · 7a: 11 Sun · 8a: 15 Sun · 9a: 11 Sun · 10a: 12 Sun · 11a: 5 Sun · 12p: 7 Sun · 1p: 6 Sun · 2p: 10 Sun · 3p: 14 Sun · 4p: 16 Sun · 5p: 18 Sun · 6p: 14 Sun · 7p: 13 Sun · 8p: 10 Sun · 9p: 5 Sun · 10p: 8 Sun · 11p: 9 Mon Tue Wed Thu Fri Sat Sun 12a 2a 4a 6a 8a 10a 12p 2p 4p 6p 8p 10p
< tux-chart-heatmap
: rows = " days "
: cols = " hours "
: values = " crashMatrix "
: tooltip = " false "
: legend = " false "
/>