Skip to content

Instantly share code, notes, and snippets.

@joyrexus
Last active December 29, 2016 12:01
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save joyrexus/6619251 to your computer and use it in GitHub Desktop.
Save joyrexus/6619251 to your computer and use it in GitHub Desktop.
NYT border graphic
<!DOCTYPE html>
<meta charset="utf-8">
<script src="http://joyrexus.github.io/sandbox/border/lib.js"></script>
<style>
@import url(http://fonts.googleapis.com/css?family=Roboto:700,300);
body {
font-family: 'Roboto', sans-serif;
font-size: 14px;
line-height: 1.5em;
}
.g-map path {
stroke-linejoin: round;
stroke-linecap: round;
pointer-events: none;
}
.g-map .g-sector path {
fill: orange;
fill-opacity: 0;
pointer-events: all;
-webkit-transition: fill-opacity 250ms linear;
}
.g-map .g-sector :hover,
.g-map .g-sector .g-hover {
fill-opacity: .25;
}
.g-map .g-country-boundary {
fill: none;
stroke: #333;
stroke-width: 1.5px;
}
.g-map .g-state-boundary {
fill: none;
stroke: #fff;
stroke-width: 1.5px;
}
.g-map .g-sector-boundary {
fill: none;
stroke: #333;
stroke-dasharray: 1,2;
}
.g-map .g-boundary-key rect {
fill: white;
fill-opacity: .5;
}
.g-map .g-roads {
fill: none;
stroke: #999;
stroke-width: .5px;
}
.g-map text {
font-size: 10px;
pointer-events: none;
}
.g-map .g-labels,
.g-map .g-places {
text-anchor: middle;
}
.g-map .g-labels .g-sector-label {
font-size: 13px;
font-weight: 700;
}
.g-map .g-labels .g-country-label {
fill: #333;
font-size: 13px;
font-weight: 300;
letter-spacing: 3px;
text-transform: uppercase;
}
.g-map .g-places text {
fill: #777;
}
.g-chart {
height: 156px;
}
.g-chart-container {
margin: 0 40px 40px 40px;
}
.g-chart {
position: relative;
left: -120px;
}
.g-bar {
fill: #a5847a;
}
.g-bar:hover :first-child {
fill: orange;
}
.g-bar .g-overlay {
fill: none;
shape-rendering: crispEdges;
pointer-events: all;
}
.g-axis path,
.g-baseline .tick-cap,
.g-baseline text {
display: none;
}
.g-axis line {
fill: none;
stroke: #000;
shape-rendering: crispEdges;
}
.g-y .tick line {
stroke: #000;
stroke-dasharray: 1,3;
stroke-opacity: .3;
}
.g-y .g-baseline line,
.g-y line.tick-cap {
stroke-dasharray: none;
stroke-opacity: 1;
}
.g-chart text {
font-size: 11px;
}
.g-chart-title {
font-size: 18px;
font-weight: 700;
line-height: 1.2em;
margin-bottom: .3em;
}
.g-chart-caption {
color: #777;
font-weight: 300;
font-size: 14px;
}
.storyHeader h1 {
font-size: 27px !important;
text-align: center;
margin-top:15px !important;
}
.g-header {
position: relative;
height: 16px;
margin-top: 8px;
}
.g-header .g-sector {
position: absolute;
font-size: 10px;
text-transform: uppercase;
font-weight: 300;
color: #777;
white-space: nowrap;
}
.g-chart-tooltip {
position: absolute;
width: 120px;
margin-left: 60px;
margin-top: -10px;
text-align: center;
font-size: 10px;
pointer-events: none;
}
</style>
<body>
<div class="g-map"></div>
<br clear="all">
<div class="g-chart-container">
<div class="g-chart-caption">Border agents per sector.</div>
<div class="g-header"></div>
<div data-key="staffing" class="g-chart">
<div class="g-chart-tooltip" style="left: 280.40240397177945px; top: 44.6001415428167px;"></div>
</div>
</div>
<script>
(function() {
var width = 970,
height = 300;
var projection = d3.geo.satellite()
.distance(1.2)
.scale(4000)
.rotate([109.5, -23, 19])
.center([0, 7.5])
.translate([width / 2, height / 2])
.tilt(30)
.clipAngle(Math.acos(1 / 1.2) * 180 / Math.PI - 1e-6);
var path = d3.geo.path()
.projection(projection);
var chartMargin = {top: 15, right: 120, bottom: 20, left: 120},
chartWidth = 970 - chartMargin.left - chartMargin.right,
chartHeight = 150 - chartMargin.top - chartMargin.bottom;
var x0 = d3.scale.ordinal()
.domain(["San Diego", "El Centro", "Yuma", "Tucson", "El Paso", "Big Bend", "Del Rio", "Laredo", "Rio Grande Valley"])
.rangeBands([0, chartWidth], .1, 0);
var x1 = d3.scale.ordinal()
.domain(d3.range(2000, 2013))
.rangeBands([0, x0.rangeBand()], .1, 0);
var y = d3.scale.linear()
.range([chartHeight, 0]);
var xAxis = d3.svg.axis()
.scale(x1)
.orient("bottom");
var yAxis = d3.svg.axis()
.scale(y)
.orient("right")
.ticks(6)
.tickPadding(10)
.tickSize(-chartWidth);
var formatPercent = d3.format("%");
var svg = d3.select(".g-map").append("svg")
.attr("width", width)
.attr("height", height);
d3.selectAll(".g-header").selectAll(".g-sector")
.data(x0.domain())
.enter().append("div")
.attr("class", "g-sector")
.style("left", function(d) { return x0(d) + "px"; })
.style("width", x0.rangeBand() + "px")
.text(function(d) { return d; });
queue()
.defer(d3.json, "sectors.json")
.defer(d3.csv, "staffing.csv")
.await(ready);
function ready(error, topology, data) {
var sectors = topology.objects.sectors.geometries;
data.forEach(function(d) {
d.val = +d.val;
if (d.type === "got_away_pct") d.val /= 100;
});
sectors.forEach(function(s) {
if (s.properties.name === "Marfa") s.properties.name = "Big Bend";
});
var dataByTypeAndSector = d3.nest()
.key(function(d) { return d.type; })
.key(function(d) { return d.sector; })
.entries(data);
var defs = svg.append("defs");
defs.append("path")
.datum(topojson.object(topology, topology.objects.countries))
.attr("id", "g-land")
.attr("d", path);
/*
defs.append("filter")
.attr("id", "g-blur")
.append("feGaussianBlur")
.attr("stdDeviation", 8);
*/
defs.append("clipPath")
.attr("id", "g-clip-land")
.append("use")
.attr("xlink:href", "#g-land");
var terrain = svg.append("g")
.style("opacity", .5);
terrain.append("rect")
.style("fill", "#74abd4")
.attr("width", width)
.attr("height", height);
/*
terrain.append("use")
.style("filter", "url(#g-blur)")
.style("fill", "#fff")
.attr("xlink:href", "#g-land");
*/
terrain.append("image")
.attr("xlink:href", "http://joyrexus.github.io/sandbox/border/terrain.jpg")
.attr("clip-path", "url(#g-clip-land)")
.attr("width", width)
.attr("height", height);
svg.append("g")
.attr("class", "g-sector")
.selectAll("path")
.data(sectors.map(function(s) { return topojson.object(topology, s); }))
.enter().append("path")
.attr("d", path);
svg.append("path")
.datum(topojson.mesh(topology, topology.objects.countries, function(a, b) { return a !== b; }))
.attr("class", "g-state-boundary")
.attr("d", path);
svg.append("path")
.datum(topojson.mesh(topology, {type: "GeometryCollection", geometries: sectors}, function(a, b) { return a !== b; }))
.attr("class", "g-sector-boundary")
.attr("d", path);
svg.append("path")
.datum(topojson.object(topology, topology.objects.roads))
.attr("class", "g-roads")
.attr("d", path);
svg.append("path")
.datum(topojson.mesh(topology, topology.objects.countries, function(a, b) { return a !== b && a.properties.iso_a2 !== b.properties.iso_a2; }))
.attr("class", "g-country-boundary")
.attr("d", path);
var key = svg.append("g")
.attr("class", "g-boundary-key")
.attr("transform", "translate(0," + height + ")");
key.append("path")
.attr("class", "g-sector-boundary")
.attr("d", "M8,-10h22");
var keyLabel = key.append("text")
.attr("dy", ".35em")
.attr("x", 36)
.attr("y", -10)
.text("U.S. Border Patrol sectors");
key.insert("rect", "*")
.attr("y", -20)
.attr("height", 20)
.attr("width", 44 + keyLabel.node().getComputedTextLength());
var place = svg.append("g")
.attr("class", "g-places")
.selectAll("g")
.data(topojson.object(topology, topology.objects.places).geometries)
.enter().append("g")
.attr("transform", function(d) { return "translate(" + projection(d.coordinates) + ")"; });
place.append("circle")
.attr("r", 2);
place.append("text")
.attr("dy", function(d) { return d.properties.iso_a2 === "US" ? "-.5em" : "1.2em"; })
.text(function(d) { return d.properties.name; });
svg.append("g")
.attr("class", "g-labels")
.selectAll("text")
.data(topojson.object(topology, topology.objects.labels).geometries)
.enter().append("text")
.attr("class", function(d) { return "g-" + d.properties.type + "-label"; })
.attr("transform", function(d) { return "translate(" + projection(d.coordinates) + ")"; })
.selectAll("tspan")
.data(function(d) { return d.id.split("\n").reverse(); })
.enter().append("tspan")
.attr("x", 0)
.attr("dy", function(d, i) { return (.35 - i * 1.4) + "em"; })
.text(function(d) { return d; });
var type = d3.selectAll(".g-chart")
.data(dataByTypeAndSector, function(d) { return d ? d.key : this.getAttribute("data-key"); });
type.append("svg")
.attr("width", chartWidth + chartMargin.left + chartMargin.right)
.attr("height", chartHeight + chartMargin.top + chartMargin.bottom)
.append("g")
.attr("transform", "translate(" + chartMargin.left + "," + chartMargin.top + ")");
type.each(function(d, i) {
var type = d3.select(this),
svg = type.select("g"),
tooltip = type.select(".g-chart-tooltip"),
format = d.key === "got_away_pct" ? d3.format(".2p") : d3.format(",d");
yAxis.tickFormat(format);
var yy = y.domain([0, d3.max(d.values, function(d) {
return d3.max(d.values, function(d) {
return d.val;
});
})]).copy();
if (!i) {
var clip = svg.append("clipPath")
.attr("id", "g-clip-sectors");
clip.selectAll("rect")
.data(x0.domain())
.enter().append("rect")
.attr("x", function(d) { return x0(d) - chartWidth; })
.attr("width", x0.rangeBand())
.attr("height", chartHeight + 1);
clip.append("rect")
.attr("y", -chartMargin.top)
.attr("width", chartMargin.right)
.attr("height", chartHeight + chartMargin.top + chartMargin.bottom);
}
var sector = svg.selectAll(".g-sector")
.data(d.values)
.enter().append("g")
.attr("class", "g-sector")
.attr("transform", function(d) { return "translate(" + x0(d.key) + ",0)"; });
var bar = sector.selectAll(".g-bar")
.data(function(d) { return d.values; })
.enter().append("g")
.attr("class", "g-bar")
.attr("transform", function(d) { return "translate(" + x1(d.year) + ",0)"; })
.on("mouseover", function(d) {
var p = this.parentNode.__data__;
d3.selectAll(".g-map .g-sector path").classed("g-hover", function(d) { return d.properties.name === p.key; });
tooltip.style("left", x0(p.key) + x1(d.year) + "px").style("top", yy(d.val) + "px").text(format(d.val));
})
.on("mouseout", function() {
d3.selectAll(".g-hover").classed("g-hover", false);
tooltip.text(null);
});
bar.append("rect")
.attr("y", function(d) { return y(d.val); })
.attr("width", x1.rangeBand())
.attr("height", function(d) { return chartHeight - y(d.val); });
bar.append("rect")
.attr("class", "g-overlay")
.attr("width", x1.rangeBand() + 1)
.attr("height", chartHeight);
var tick = svg.append("g")
.attr("class", "g-y g-axis")
.attr("transform", "translate(" + chartWidth + ",0)")
.attr("clip-path", "url(#g-clip-sectors)")
.call(yAxis)
.selectAll(".tick")
.classed("g-baseline", function(d) { return !d; });
tick.append("line")
.attr("class", "tick-cap")
.attr("x1", 2)
.attr("x2", 6);
sector.append("g").selectAll("text")
.data(d3.extent(d.values[0].values, function(d) { return d.year; }))
.enter().append("text")
.attr("y", chartHeight + 4)
.attr("x", function(d, i) { return x1(d) + i * x1.rangeBand(); })
.attr("dy", ".71em")
.style("text-anchor", function(d, i) { return i ? "end" : "start"; })
.text(function(d) { return "’" + d.substring(2, 4); });
});
}
})()
</script>
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
sector val type year
1 Big Bend 196 staffing 2000
2 Del Rio 758 staffing 2000
3 El Centro 502 staffing 2000
4 El Paso 1036 staffing 2000
5 Laredo 806 staffing 2000
6 Rio Grande Valley 1368 staffing 2000
7 San Diego 2053 staffing 2000
8 Tucson 1548 staffing 2000
9 Yuma 313 staffing 2000
10 Big Bend 194 staffing 2001
11 Del Rio 893 staffing 2001
12 El Centro 589 staffing 2001
13 El Paso 1086 staffing 2001
14 Laredo 921 staffing 2001
15 Rio Grande Valley 1451 staffing 2001
16 San Diego 2004 staffing 2001
17 Tucson 1686 staffing 2001
18 Yuma 323 staffing 2001
19 Big Bend 253 staffing 2002
20 Del Rio 972 staffing 2002
21 El Centro 683 staffing 2002
22 El Paso 1122 staffing 2002
23 Laredo 969 staffing 2002
24 Rio Grande Valley 1484 staffing 2002
25 San Diego 1807 staffing 2002
26 Tucson 1626 staffing 2002
27 Yuma 323 staffing 2002
28 Big Bend 230 staffing 2003
29 Del Rio 950 staffing 2003
30 El Centro 755 staffing 2003
31 El Paso 1188 staffing 2003
32 Laredo 1025 staffing 2003
33 Rio Grande Valley 1524 staffing 2003
34 San Diego 1972 staffing 2003
35 Tucson 1838 staffing 2003
36 Yuma 358 staffing 2003
37 Big Bend 239 staffing 2004
38 Del Rio 933 staffing 2004
39 El Centro 734 staffing 2004
40 El Paso 1094 staffing 2004
41 Laredo 981 staffing 2004
42 Rio Grande Valley 1439 staffing 2004
43 San Diego 1651 staffing 2004
44 Tucson 2104 staffing 2004
45 Yuma 331 staffing 2004
46 Big Bend 220 staffing 2005
47 Del Rio 907 staffing 2005
48 El Centro 684 staffing 2005
49 El Paso 1330 staffing 2005
50 Laredo 937 staffing 2005
51 Rio Grande Valley 1380 staffing 2005
52 San Diego 1562 staffing 2005
53 Tucson 2324 staffing 2005
54 Yuma 547 staffing 2005
55 Big Bend 246 staffing 2006
56 Del Rio 935 staffing 2006
57 El Centro 713 staffing 2006
58 El Paso 1741 staffing 2006
59 Laredo 926 staffing 2006
60 Rio Grande Valley 1431 staffing 2006
61 San Diego 1671 staffing 2006
62 Tucson 2595 staffing 2006
63 Yuma 774 staffing 2006
64 Big Bend 336 staffing 2007
65 Del Rio 1138 staffing 2007
66 El Centro 894 staffing 2007
67 El Paso 2251 staffing 2007
68 Laredo 1206 staffing 2007
69 Rio Grande Valley 1822 staffing 2007
70 San Diego 2019 staffing 2007
71 Tucson 2806 staffing 2007
72 Yuma 825 staffing 2007
73 Big Bend 421 staffing 2008
74 Del Rio 1427 staffing 2008
75 El Centro 1080 staffing 2008
76 El Paso 2506 staffing 2008
77 Laredo 1636 staffing 2008
78 Rio Grande Valley 2063 staffing 2008
79 San Diego 2328 staffing 2008
80 Tucson 3049 staffing 2008
81 Yuma 932 staffing 2008
82 Big Bend 682 staffing 2009
83 Del Rio 1682 staffing 2009
84 El Centro 1187 staffing 2009
85 El Paso 2712 staffing 2009
86 Laredo 1863 staffing 2009
87 Rio Grande Valley 2422 staffing 2009
88 San Diego 2570 staffing 2009
89 Tucson 3318 staffing 2009
90 Yuma 972 staffing 2009
91 Big Bend 672 staffing 2010
92 Del Rio 1650 staffing 2010
93 El Centro 1181 staffing 2010
94 El Paso 2752 staffing 2010
95 Laredo 1858 staffing 2010
96 Rio Grande Valley 2441 staffing 2010
97 San Diego 2594 staffing 2010
98 Tucson 3353 staffing 2010
99 Yuma 987 staffing 2010
100 Big Bend 667 staffing 2011
101 Del Rio 1626 staffing 2011
102 El Centro 1164 staffing 2011
103 El Paso 2738 staffing 2011
104 Laredo 1871 staffing 2011
105 Rio Grande Valley 2504 staffing 2011
106 San Diego 2669 staffing 2011
107 Tucson 4239 staffing 2011
108 Yuma 969 staffing 2011
109 Big Bend 693 staffing 2012
110 Del Rio 1655 staffing 2012
111 El Centro 1168 staffing 2012
112 El Paso 2718 staffing 2012
113 Laredo 1879 staffing 2012
114 Rio Grande Valley 2546 staffing 2012
115 San Diego 2623 staffing 2012
116 Tucson 4176 staffing 2012
117 Yuma 954 staffing 2012
118 Big Bend 13689 apprehensions 2000
119 Del Rio 157178 apprehensions 2000
120 El Centro 238126 apprehensions 2000
121 El Paso 115696 apprehensions 2000
122 Laredo 108973 apprehensions 2000
123 Rio Grande Valley 133243 apprehensions 2000
124 San Diego 151681 apprehensions 2000
125 Tucson 616346 apprehensions 2000
126 Yuma 108747 apprehensions 2000
127 Big Bend 12087 apprehensions 2001
128 Del Rio 104875 apprehensions 2001
129 El Centro 172852 apprehensions 2001
130 El Paso 112857 apprehensions 2001
131 Laredo 87068 apprehensions 2001
132 Rio Grande Valley 107844 apprehensions 2001
133 San Diego 110075 apprehensions 2001
134 Tucson 449675 apprehensions 2001
135 Yuma 78385 apprehensions 2001
136 Big Bend 11392 apprehensions 2002
137 Del Rio 66985 apprehensions 2002
138 El Centro 108273 apprehensions 2002
139 El Paso 94154 apprehensions 2002
140 Laredo 82095 apprehensions 2002
141 Rio Grande Valley 89927 apprehensions 2002
142 San Diego 100681 apprehensions 2002
143 Tucson 333648 apprehensions 2002
144 Yuma 42654 apprehensions 2002
145 Big Bend 10319 apprehensions 2003
146 Del Rio 50145 apprehensions 2003
147 El Centro 92099 apprehensions 2003
148 El Paso 88816 apprehensions 2003
149 Laredo 70521 apprehensions 2003
150 Rio Grande Valley 77749 apprehensions 2003
151 San Diego 111515 apprehensions 2003
152 Tucson 347263 apprehensions 2003
153 Yuma 56638 apprehensions 2003
154 Big Bend 10530 apprehensions 2004
155 Del Rio 53794 apprehensions 2004
156 El Centro 74467 apprehensions 2004
157 El Paso 104399 apprehensions 2004
158 Laredo 74706 apprehensions 2004
159 Rio Grande Valley 92947 apprehensions 2004
160 San Diego 138608 apprehensions 2004
161 Tucson 491771 apprehensions 2004
162 Yuma 98060 apprehensions 2004
163 Big Bend 10536 apprehensions 2005
164 Del Rio 68506 apprehensions 2005
165 El Centro 55722 apprehensions 2005
166 El Paso 122679 apprehensions 2005
167 Laredo 75346 apprehensions 2005
168 Rio Grande Valley 134186 apprehensions 2005
169 San Diego 126904 apprehensions 2005
170 Tucson 439079 apprehensions 2005
171 Yuma 138438 apprehensions 2005
172 Big Bend 7520 apprehensions 2006
173 Del Rio 42636 apprehensions 2006
174 El Centro 61465 apprehensions 2006
175 El Paso 122256 apprehensions 2006
176 Laredo 74840 apprehensions 2006
177 Rio Grande Valley 110528 apprehensions 2006
178 San Diego 142104 apprehensions 2006
179 Tucson 392074 apprehensions 2006
180 Yuma 118549 apprehensions 2006
181 Big Bend 5536 apprehensions 2007
182 Del Rio 22920 apprehensions 2007
183 El Centro 55883 apprehensions 2007
184 El Paso 75464 apprehensions 2007
185 Laredo 56714 apprehensions 2007
186 Rio Grande Valley 73430 apprehensions 2007
187 San Diego 152460 apprehensions 2007
188 Tucson 378239 apprehensions 2007
189 Yuma 37992 apprehensions 2007
190 Big Bend 5391 apprehensions 2008
191 Del Rio 20761 apprehensions 2008
192 El Centro 40961 apprehensions 2008
193 El Paso 30312 apprehensions 2008
194 Laredo 43658 apprehensions 2008
195 Rio Grande Valley 75473 apprehensions 2008
196 San Diego 162390 apprehensions 2008
197 Tucson 317696 apprehensions 2008
198 Yuma 8363 apprehensions 2008
199 Big Bend 6360 apprehensions 2009
200 Del Rio 17082 apprehensions 2009
201 El Centro 33521 apprehensions 2009
202 El Paso 14999 apprehensions 2009
203 Laredo 40569 apprehensions 2009
204 Rio Grande Valley 60989 apprehensions 2009
205 San Diego 118721 apprehensions 2009
206 Tucson 241673 apprehensions 2009
207 Yuma 6951 apprehensions 2009
208 Big Bend 5288 apprehensions 2010
209 Del Rio 14694 apprehensions 2010
210 El Centro 32562 apprehensions 2010
211 El Paso 12251 apprehensions 2010
212 Laredo 35287 apprehensions 2010
213 Rio Grande Valley 59766 apprehensions 2010
214 San Diego 68565 apprehensions 2010
215 Tucson 212202 apprehensions 2010
216 Yuma 7116 apprehensions 2010
217 Big Bend 4036 apprehensions 2011
218 Del Rio 16144 apprehensions 2011
219 El Centro 30191 apprehensions 2011
220 El Paso 10345 apprehensions 2011
221 Laredo 36053 apprehensions 2011
222 Rio Grande Valley 59243 apprehensions 2011
223 San Diego 42447 apprehensions 2011
224 Tucson 123285 apprehensions 2011
225 Yuma 5833 apprehensions 2011
226 Big Bend 3964 apprehensions 2012
227 Del Rio 21720 apprehensions 2012
228 El Centro 23916 apprehensions 2012
229 El Paso 9678 apprehensions 2012
230 Laredo 44872 apprehensions 2012
231 Rio Grande Valley 97762 apprehensions 2012
232 San Diego 28461 apprehensions 2012
233 Tucson 120000 apprehensions 2012
234 Yuma 6500 apprehensions 2012
235 San Diego 19.5 got_away_pct 2006
236 San Diego 22.6 got_away_pct 2007
237 San Diego 18 got_away_pct 2008
238 San Diego 13.2 got_away_pct 2009
239 San Diego 10.3 got_away_pct 2010
240 San Diego 8.1 got_away_pct 2011
241 El Centro 17.2 got_away_pct 2006
242 El Centro 15.3 got_away_pct 2007
243 El Centro 16.5 got_away_pct 2008
244 El Centro 12.3 got_away_pct 2009
245 El Centro 11.3 got_away_pct 2010
246 El Centro 9.5 got_away_pct 2011
247 Yuma 36.2 got_away_pct 2006
248 Yuma 21.3 got_away_pct 2007
249 Yuma 12.4 got_away_pct 2008
250 Yuma 8.2 got_away_pct 2009
251 Yuma 5.2 got_away_pct 2010
252 Yuma 6.3 got_away_pct 2011
253 Tucson 34.2 got_away_pct 2006
254 Tucson 36.1 got_away_pct 2007
255 Tucson 32.1 got_away_pct 2008
256 Tucson 28.7 got_away_pct 2009
257 Tucson 22.2 got_away_pct 2010
258 Tucson 13.1 got_away_pct 2011
259 El Paso 27.1 got_away_pct 2006
260 El Paso 13.2 got_away_pct 2007
261 El Paso 7.3 got_away_pct 2008
262 El Paso 5.6 got_away_pct 2009
263 El Paso 4.3 got_away_pct 2010
264 El Paso 4.4 got_away_pct 2011
265 Big Bend 13.9 got_away_pct 2006
266 Big Bend 12.4 got_away_pct 2007
267 Big Bend 18.7 got_away_pct 2008
268 Big Bend 26.5 got_away_pct 2009
269 Big Bend 27 got_away_pct 2010
270 Big Bend 32 got_away_pct 2011
271 Del Rio 37 got_away_pct 2006
272 Del Rio 31.4 got_away_pct 2007
273 Del Rio 27.7 got_away_pct 2008
274 Del Rio 17.6 got_away_pct 2009
275 Del Rio 14.1 got_away_pct 2010
276 Del Rio 13.5 got_away_pct 2011
277 Laredo 29.8 got_away_pct 2006
278 Laredo 35.5 got_away_pct 2007
279 Laredo 22.3 got_away_pct 2008
280 Laredo 16.2 got_away_pct 2009
281 Laredo 13.2 got_away_pct 2010
282 Laredo 16 got_away_pct 2011
283 Rio Grande Valley 44.6 got_away_pct 2006
284 Rio Grande Valley 47.4 got_away_pct 2007
285 Rio Grande Valley 42.8 got_away_pct 2008
286 Rio Grande Valley 39.4 got_away_pct 2009
287 Rio Grande Valley 36.7 got_away_pct 2010
288 Rio Grande Valley 29.2 got_away_pct 2011
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment