Skip to content

Instantly share code, notes, and snippets.

@CrandellWS
Last active October 17, 2015 22:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save CrandellWS/153bcfa208e2bde8a353 to your computer and use it in GitHub Desktop.
Save CrandellWS/153bcfa208e2bde8a353 to your computer and use it in GitHub Desktop.
d3.js Example
<style type="text/css">
.axis {
font: 10px sans-serif;
}
.x line,
.y .domain {
fill: none;
stroke: #000;
shape-rendering: crispEdges;
}
.x line {
opacity: 0.2;
}
.x .domain {
display: none;
}
.legend text,
.axis text {
font: 14px sans-serif;
font-weight: bold;
fill: #000;
}
.city text {
font: 16px sans-serif;
font-weight: bold;
}
</style>
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.6/d3.js" charset="utf-8"></script>
<h3>How population changed in American cities with 500,000+ people, 2010-2014</h3>
<svg class="chart"></svg>
<script type="text/javascript">
// Add commas to numbers. Example: 1000 becomes 1,000.
function numberWithCommas(x) {
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}
function apCityNameStyling(cityStateString){
// This isn't exact AP styling, but pretty close
var apCities = {
'Atlanta, Georgia': 'Atlanta',
'Baltimore, Maryland': 'Baltimore',
'Boston, Massachusetts': 'Boston',
'Chicago, Illinois': 'Chicago',
'Cincinnati, Ohio': 'Cincinnati',
'Cleveland, Ohio': 'Cleveland',
'Dallas, Texas': 'Dallas',
'Denver, Colorado': 'Denver',
'Detroit, Michigan': 'Detroit',
'Honolulu, Hawaii': 'Honolulu',
'Houston, Texas': 'Houston',
'Indianapolis (balance), Indiana': 'Indianapolis',
'Las Vegas, Nevada': 'Las Vegas',
'Los Angeles, California': 'Los Angeles',
'Miami, Florida': 'Miami',
'Milwaukee, Wisconsin': 'Milwaukee',
'Minneapolis, Minnesota': 'Minneapolis',
'Nashville-Davidson (balance), Tennessee': 'Nashville, Tennessee', // Not a standalone city, but the key here is how the Census calls Nashville, TN
'New Orleans, Louisiana': 'New Orleans',
'New York, New York': 'New York City',
'Oklahoma City, Oklahoma': 'Oklahoma City',
'Philadelphia, Pennsylvania': 'Philadelphia',
'Phoenix, Arizona': 'Phoenix',
'Pittsburgh, Pennsylvania': 'Pittsburgh',
'Salt Lake City, Utah': 'Salt Lake City',
'San Antonio, Texas': 'San Antonio',
'San Diego, California': 'San Diego',
'San Francisco, California': 'San Francisco',
'Seattle, Washington': 'Seattle',
'St. Louis, Missouri': 'St. Louis',
'Washington, District of Columbia': 'Washington, D.C.'
};
if(cityStateString in apCities){
return apCities[cityStateString];
} else {
return cityStateString;
}
}
var colorArray = [
'#9ecae1',
'#3182bd'
];
var color = d3.scale.ordinal()
.range(colorArray);
var margin = {
top: 50,
right: 30,
bottom: 100,
left: 105
};
var marginTop = margin.top;
var marginLeft = margin.left;
var marginBottom = margin.bottom;
var marginRight = margin.right;
var widthWithMargins = document.getElementsByTagName('body')[0].clientWidth;
var width = widthWithMargins*0.95 - marginLeft - marginRight;
var height = 2000;
var chart = d3.select('.chart')
.attr('width',widthWithMargins);
//should be stackoverflowQuestion32799604.csv but got to trick the system...
d3.csv('stackoverflowQuestion32799604.json', function(error,csvData){
var data = csvData.filter(function(d){
return +d.population2014>=500000;
});
var maxPopulation2014 = d3.max(
data,
function(d){
return +d.population2014;
}
);
var dataCount = data.length;
var yearColumnNames = d3.keys(data[0]).filter(function(key){
return (key!=="Id" && key!=="City");
});
data.sort(
function(a,b){
return +b.population2014 - +a.population2014; // Sort by 2014 population, highest to lowest
}
);
data.forEach(function(d){
d.apCityName = apCityNameStyling(d.City);
d.years = yearColumnNames.map(function(name){
return {
name: name,
value: +d[name]
};
});
});
chart.attr('height',height);
// .attr('transform','translate('+marginLeft+','+marginTop+')');
// X axis stuff
var xDomainMin = 400000;
var x = d3.scale.log()
.domain([xDomainMin,maxPopulation2014])
.range([0,width]); // Make range smaller than chart width so x axis doesn't go off the edge of chart's SVG canvas
var xTicks = [
// xDomainMin,
500000,
1000000,
2000000,
4000000,
8000000
];
var xAxis = d3.svg.axis()
.scale(x)
.tickValues(xTicks)
.tickFormat(d3.format('s'))
.innerTickSize(-height)
.orient('top');
chart.append('g')
.attr('class','x axis')
.call(xAxis)
.append('text')
.text('Population')
.style('text-anchor','end')
.attr('class','axis-label')
.attr('x',widthWithMargins/2)
.attr('y',-25);
var cityNameArray = data.map(function(d){
return d.apCityName;
});
var y0 = d3.scale.ordinal()
.domain(cityNameArray)
.rangeRoundBands([0,height-marginTop],0.15);
var y1 = d3.scale.ordinal()
.domain(yearColumnNames)
.rangeRoundBands([0,y0.rangeBand()]);
var yAxis = d3.svg.axis()
.scale(y0)
.orient('left');
chart.append('g')
.attr('class','y axis')
.call(yAxis);
chart.selectAll('.y')
.attr('transform','translate('+marginLeft+')');
chart.selectAll('.x')
.attr('transform','translate('+marginLeft+','+marginTop+')');
var city = chart.selectAll('.city')
.data(data)
.enter()
.append('g')
.attr('class','city')
.attr('transform',function(d){
return 'translate('+marginLeft+','+(y0(d.apCityName)+(marginTop/2))+')';
});
city.selectAll('rect')
.data(function(d){
return d.years;
})
.enter()
.append('rect')
.attr('height',function(d){
return y1.rangeBand();
})
.attr('width',function(d){
return x(d.value);
})
.attr('y',function(d){
return y1(d.name);
})
.style('fill',function(d){
return color(d.name);
})
var popThreshold = 1500000; // Proxy for bar width
city.selectAll('.city')
.data(function(d){
return d.years;
})
.enter()
.append('text')
.attr('x',function(d){
var population = d.value;
var xPop = x(population);
return population>=popThreshold ? xPop-3 : xPop+3;
})
.attr('y',function(d){
return y1(d.name)+(y1.rangeBand()/1.3);
})
.attr('text-anchor',function(d){
return d.value>=popThreshold ? 'end' : 'start';
})
.attr('fill',function(d){
return d.value>=popThreshold ? '#eee' : '#000';
})
.attr('stroke',function(d){
return d.value<popThreshold ? '#fff' : '';
})
.attr('stroke-width',function(d){
return d.value<popThreshold ? 5 : '';
})
.attr('paint-order','stroke')
.text(function(d){
return numberWithCommas(d.value);
});
var insertLinebreaks = function (d,i) {
// Get `y` value for `g` element containing each cluster of bars
var gCityY = d3.selectAll('.city')[0][i]
.getAttribute('transform')
.split(',')[1]
.replace(')','');
var yTick = d3.selectAll('.y .tick')[0][i];
var el = d3.select(this);
var words = d.indexOf(', ') > -1 ? d.split(', ').map(function(w,i){return i===0 ? w+',' : w}) : d.split(' ');
el.text('');
for (var i = 0; i < words.length; i++) {
var tspan = el.append('tspan').text(words[i]);
if(i===0){
tspan.attr('dx',5);
} else if (i > 0){
tspan.attr('x', 0).attr('dy', '15');
}
}
if(words.length>1){
var cityNameY = words.length===3 ? +gCityY+10 : +gCityY+20;
yTick.setAttribute('transform','translate(-2.5,'+cityNameY+')');
}
};
chart.selectAll('.y .tick text').each(insertLinebreaks);
var legend = chart.selectAll('.legend')
.data(yearColumnNames.slice())
.enter()
.append('g')
.attr('class','legend')
.attr('transform',function(d,i){
return 'translate('+marginLeft+','+(marginTop+(i*20))+')';
})
var legendX = width - width - marginLeft;
legend.append('rect')
.attr('x',legendX)
.attr('y',-marginTop)
.attr('height',18)
.attr('width',18)
.style('fill',color);
legend.append('text')
.attr('x', legendX + 55)
.attr('y',-35)
.style('text-anchor','end')
.text(function(d){
return d.replace(/\D/g,'');
});
});
</script>
Id,City,population2010,population2014
1600000US0107000,"Birmingham, Alabama",212237,212653
1600000US0137000,"Huntsville, Alabama",180105,187592
1600000US0150000,"Mobile, Alabama",195111,194670
1600000US0151000,"Montgomery, Alabama",205764,200486
1600000US0203000,"Anchorage municipality, Alaska",291826,301010
1600000US0412000,"Chandler, Arizona",236123,254275
1600000US0427400,"Gilbert town, Arizona",208453,239282
1600000US0427820,"Glendale, Arizona",226721,237529
1600000US0446000,"Mesa, Arizona",439041,464682
1600000US0454050,"Peoria, Arizona",154065,166955
1600000US0455000,"Phoenix, Arizona",1445632,1537045
1600000US0465000,"Scottsdale, Arizona",217385,230502
1600000US0471510,"Surprise, Arizona",117517,126278
1600000US0473000,"Tempe, Arizona",161719,172836
1600000US0477000,"Tucson, Arizona",520116,527948
1600000US0541000,"Little Rock, Arkansas",193524,197701
1600000US0602000,"Anaheim, California",336265,346961
1600000US0602252,"Antioch, California",102372,108953
1600000US0603526,"Bakersfield, California",347483,368748
1600000US0606000,"Berkeley, California",112580,118851
1600000US0608954,"Burbank, California",103340,105366
1600000US0611194,"Carlsbad, California",105328,112310
1600000US0613392,"Chula Vista, California",243916,260977
1600000US0614218,"Clovis, California",95631,102190
1600000US0616000,"Concord, California",122067,127511
1600000US0616350,"Corona, California",152374,161498
1600000US0616532,"Costa Mesa, California",109960,112793
1600000US0617918,"Daly City, California",101123,106099
1600000US0619766,"Downey, California",111772,114168
1600000US0620802,"East Los Angeles, California",126496,117267
1600000US0621712,"El Cajon, California",99478,103075
1600000US0622020,"Elk Grove, California",153015,163560
1600000US0622230,"El Monte, California",113475,116617
1600000US0622804,"Escondido, California",143911,150252
1600000US0623182,"Fairfield, California",105321,111139
1600000US0624680,"Fontana, California",196069,204953
1600000US0626000,"Fremont, California",214089,228760
1600000US0627000,"Fresno, California",494665,515985
1600000US0628000,"Fullerton, California",135161,139663
1600000US0629000,"Garden Grove, California",170883,175085
1600000US0630000,"Glendale, California",191719,200161
1600000US0633000,"Hayward, California",144186,154633
1600000US0636000,"Huntington Beach, California",189992,200814
1600000US0636546,"Inglewood, California",109673,111901
1600000US0636770,"Irvine, California",212375,248521
1600000US0640130,"Lancaster, California",156633,161036
1600000US0643000,"Long Beach, California",462257,473605
1600000US0644000,"Los Angeles, California",3792621,3928827
1600000US0648354,"Modesto, California",201165,209308
1600000US0649270,"Moreno Valley, California",193365,202978
1600000US0650076,"Murrieta, California",103466,108371
1600000US0652526,"Norwalk, California",105549,107111
1600000US0653000,"Oakland, California",390724,413782
1600000US0653322,"Oceanside, California",167086,174552
1600000US0653896,"Ontario, California",163924,169085
1600000US0653980,"Orange, California",136416,139826
1600000US0654652,"Oxnard, California",197899,205434
1600000US0655156,"Palmdale, California",152750,158274
1600000US0656000,"Pasadena, California",137122,140860
1600000US0658072,"Pomona, California",149058,153381
1600000US0659451,"Rancho Cucamonga, California",165269,174302
1600000US0660466,"Rialto, California",99171,102740
1600000US0660620,"Richmond, California",103701,108562
1600000US0662000,"Riverside, California",303871,319519
1600000US0662938,"Roseville, California",118788,128593
1600000US0664000,"Sacramento, California",466488,485193
1600000US0664224,"Salinas, California",150441,156678
1600000US0665000,"San Bernardino, California",209924,215227
1600000US0665042,"San Buenaventura (Ventura), California",106433,109478
1600000US0666000,"San Diego, California",1307402,1381083
1600000US0667000,"San Francisco, California",805235,852469
1600000US0668000,"San Jose, California",945942,1015796
1600000US0668252,"San Mateo, California",97207,102885
1600000US0669000,"Santa Ana, California",324528,334924
1600000US0669084,"Santa Clara, California",116468,122198
1600000US0669088,"Santa Clarita, California",176320,181559
1600000US0669196,"Santa Maria, California",99553,103414
1600000US0670098,"Santa Rosa, California",167815,174166
1600000US0672016,"Simi Valley, California",124237,126873
1600000US0675000,"Stockton, California",291707,302405
1600000US0677000,"Sunnyvale, California",140081,149984
1600000US0678120,"Temecula, California",100097,109446
1600000US0678582,"Thousand Oaks, California",126683,129344
1600000US0680000,"Torrance, California",145438,148483
1600000US0681666,"Vallejo, California",115942,120210
1600000US0682590,"Victorville, California",115903,121911
1600000US0682954,"Visalia, California",124442,129280
1600000US0684200,"West Covina, California",106098,108445
1600000US0803455,"Arvada, Colorado",106433,113775
1600000US0804000,"Aurora, Colorado",325078,353381
1600000US0807850,"Boulder, Colorado",97385,105101
1600000US0816000,"Colorado Springs, Colorado",416427,445820
1600000US0820000,"Denver, Colorado",600158,663862
1600000US0827425,"Fort Collins, Colorado",143986,156473
1600000US0836410,"Highlands Ranch, Colorado",96713,100192
1600000US0843000,"Lakewood, Colorado",142980,149650
1600000US0862000,"Pueblo, Colorado",106595,108439
1600000US0877290,"Thornton, Colorado",118772,130309
1600000US0883835,"Westminster, Colorado",106114,112099
1600000US0908000,"Bridgeport, Connecticut",144229,147608
1600000US0937000,"Hartford, Connecticut",124775,124721
1600000US0952000,"New Haven, Connecticut",129779,130285
1600000US0973000,"Stamford, Connecticut",122643,128283
1600000US0980000,"Waterbury, Connecticut",110366,109311
1600000US1150000,"Washington, District of Columbia",601723,658893
1600000US1208150,"Brandon, Florida",103483,105125
1600000US1210275,"Cape Coral, Florida",154305,169855
1600000US1212875,"Clearwater, Florida",107685,110709
1600000US1214400,"Coral Springs, Florida",121096,127963
1600000US1224000,"Fort Lauderdale, Florida",165521,176018
1600000US1225175,"Gainesville, Florida",124354,128474
1600000US1230000,"Hialeah, Florida",224669,235566
1600000US1232000,"Hollywood, Florida",140768,148040
1600000US1235000,"Jacksonville, Florida",821784,853376
1600000US1238250,"Lakeland, Florida",97422,102335
1600000US1239925,"Lehigh Acres, Florida",86784,111416
1600000US1245000,"Miami, Florida",399457,430341
1600000US1245975,"Miramar, Florida",122041,134991
1600000US1253000,"Orlando, Florida",238300,262396
1600000US1254000,"Palm Bay, Florida",103190,105845
1600000US1255775,"Pembroke Pines, Florida",154750,164625
1600000US1258050,"Pompano Beach, Florida",99845,106115
1600000US1258715,"Port St. Lucie, Florida",164603,174093
1600000US1263000,"St. Petersburg, Florida",244769,253682
1600000US1270600,"Tallahassee, Florida",181376,188106
1600000US1271000,"Tampa, Florida",335709,358684
1600000US1276600,"West Palm Beach, Florida",99919,104017
1600000US1303440,"Athens-Clarke County (balance), Georgia",115452,119841
1600000US1304000,"Atlanta, Georgia",420003,456012
1600000US1304204,"Augusta-Richmond County (balance), Georgia",195844,197465
1600000US1368516,"Sandy Springs, Georgia",93853,101914
1600000US1369000,"Savannah, Georgia",136286,144355
1600000US1608830,"Boise City, Idaho",205671,216280
1600000US1703012,"Aurora, Illinois",197899,200708
1600000US1714000,"Chicago, Illinois",2695598,2722407
1600000US1723074,"Elgin, Illinois",108188,116548
1600000US1738570,"Joliet, Illinois",147433,146578
1600000US1751622,"Naperville, Illinois",141853,145396
1600000US1759000,"Peoria, Illinois",115007,117288
1600000US1765000,"Rockford, Illinois",152871,148996
1600000US1772000,"Springfield, Illinois",116250,116649
1600000US1822000,"Evansville, Indiana",117429,121299
1600000US1825000,"Fort Wayne, Indiana",253691,256023
1600000US1836003,"Indianapolis (balance), Indiana",820445,851353
1600000US1871000,"South Bend, Indiana",101168,103019
1600000US1912000,"Cedar Rapids, Iowa",126326,129183
1600000US1919000,"Davenport, Iowa",99685,102431
1600000US1921000,"Des Moines, Iowa",203433,209064
1600000US2036000,"Kansas City, Kansas",145786,148323
1600000US2052575,"Olathe, Kansas",125872,133059
1600000US2053775,"Overland Park, Kansas",173372,184524
1600000US2071000,"Topeka, Kansas",127473,127223
1600000US2079000,"Wichita, Kansas",382368,388413
1600000US2146027,"Lexington-Fayette, Kentucky",295803,310797
1600000US2205000,"Baton Rouge, Louisiana",229493,228909
1600000US2240735,"Lafayette, Louisiana",120623,126068
1600000US2250115,"Metairie, Louisiana",138481,144239
1600000US2255000,"New Orleans, Louisiana",343829,384320
1600000US2270000,"Shreveport, Louisiana",199311,197979
1600000US2404000,"Baltimore, Maryland",620961,622793
1600000US2507000,"Boston, Massachusetts",617594,656051
1600000US2511000,"Cambridge, Massachusetts",105162,109699
1600000US2537000,"Lowell, Massachusetts",106519,109931
1600000US2567000,"Springfield, Massachusetts",153060,153994
1600000US2582000,"Worcester, Massachusetts",181045,183033
1600000US2603000,"Ann Arbor, Michigan",113934,117759
1600000US2622000,"Detroit, Michigan",713777,680281
1600000US2634000,"Grand Rapids, Michigan",188040,193793
1600000US2646000,"Lansing, Michigan",114297,113659
1600000US2676460,"Sterling Heights, Michigan",129699,131729
1600000US2684000,"Warren, Michigan",134056,135099
1600000US2743000,"Minneapolis, Minnesota",382578,407181
1600000US2754880,"Rochester, Minnesota",106769,111398
1600000US2758000,"St. Paul, Minnesota",285068,297644
1600000US2836000,"Jackson, Mississippi",173514,171146
1600000US2915670,"Columbia, Missouri",108500,116892
1600000US2935000,"Independence, Missouri",116830,117503
1600000US2938000,"Kansas City, Missouri",459787,470816
1600000US2965000,"St. Louis, Missouri",319294,317419
1600000US2970000,"Springfield, Missouri",159498,165399
1600000US3006550,"Billings, Montana",104170,108870
1600000US3128000,"Lincoln, Nebraska",258379,273002
1600000US3137000,"Omaha, Nebraska",408958,446618
1600000US3223770,"Enterprise, Nevada",108481,126438
1600000US3231900,"Henderson, Nevada",257729,277458
1600000US3240000,"Las Vegas, Nevada",583756,613590
1600000US3251800,"North Las Vegas, Nevada",216961,230793
1600000US3254600,"Paradise, Nevada",223167,237477
1600000US3260600,"Reno, Nevada",225221,236995
1600000US3268585,"Spring Valley, Nevada",178395,192113
1600000US3271400,"Sunrise Manor, Nevada",189372,189229
1600000US3345140,"Manchester, New Hampshire",109565,110451
1600000US3421000,"Elizabeth, New Jersey",124969,128695
1600000US3436000,"Jersey City, New Jersey",247597,262146
1600000US3451000,"Newark, New Jersey",277140,280577
1600000US3457000,"Paterson, New Jersey",146199,146746
1600000US3502000,"Albuquerque, New Mexico",545852,557172
1600000US3539380,"Las Cruces, New Mexico",97618,101405
1600000US3611000,"Buffalo, New York",261310,258699
1600000US3651000,"New York, New York",8175133,8491079
1600000US3663000,"Rochester, New York",210565,209974
1600000US3673000,"Syracuse, New York",145170,144263
1600000US3684000,"Yonkers, New York",195976,200665
1600000US3710740,"Cary town, North Carolina",135234,155724
1600000US3712000,"Charlotte, North Carolina",731424,809974
1600000US3719000,"Durham, North Carolina",228330,251872
1600000US3722920,"Fayetteville, North Carolina",200564,203939
1600000US3728000,"Greensboro, North Carolina",269666,282558
1600000US3731400,"High Point, North Carolina",104371,107957
1600000US3755000,"Raleigh, North Carolina",403892,439884
1600000US3774440,"Wilmington, North Carolina",106476,113676
1600000US3775000,"Winston-Salem, North Carolina",229617,239273
1600000US3825700,"Fargo, North Dakota",105549,116572
1600000US3901000,"Akron, Ohio",199110,197846
1600000US3915000,"Cincinnati, Ohio",296943,298162
1600000US3916000,"Cleveland, Ohio",396815,389524
1600000US3918000,"Columbus, Ohio",787033,836293
1600000US3921000,"Dayton, Ohio",141527,140995
1600000US3977000,"Toledo, Ohio",287208,281014
1600000US4009050,"Broken Arrow, Oklahoma",98850,106226
1600000US4052500,"Norman, Oklahoma",110925,118046
1600000US4055000,"Oklahoma City, Oklahoma",579999,620553
1600000US4075000,"Tulsa, Oklahoma",391906,399274
1600000US4123850,"Eugene, Oregon",156185,160552
1600000US4131250,"Gresham, Oregon",105594,109877
1600000US4159000,"Portland, Oregon",583776,619445
1600000US4164900,"Salem, Oregon",154637,161648
1600000US4202000,"Allentown, Pennsylvania",118032,119105
1600000US4260000,"Philadelphia, Pennsylvania",1526006,1560297
1600000US4261000,"Pittsburgh, Pennsylvania",305704,305434
1600000US4459000,"Providence, Rhode Island",178042,179142
1600000US4513330,"Charleston, South Carolina",120083,130750
1600000US4516000,"Columbia, South Carolina",129272,131758
1600000US4550875,"North Charleston, South Carolina",97471,107972
1600000US4659020,"Sioux Falls, South Dakota",153888,168604
1600000US4714000,"Chattanooga, Tennessee",167674,173778
1600000US4715160,"Clarksville, Tennessee",132929,146814
1600000US4740000,"Knoxville, Tennessee",178874,184292
1600000US4748000,"Memphis, Tennessee",646889,656876
1600000US4751560,"Murfreesboro, Tennessee",108755,120960
1600000US4752006,"Nashville-Davidson (balance), Tennessee",601222,644008
1600000US4801000,"Abilene, Texas",117063,120176
1600000US4803000,"Amarillo, Texas",190695,200246
1600000US4804000,"Arlington, Texas",365438,383202
1600000US4805000,"Austin, Texas",790390,912798
1600000US4807000,"Beaumont, Texas",118296,117576
1600000US4810768,"Brownsville, Texas",175023,183016
1600000US4813024,"Carrollton, Texas",119097,128342
1600000US4815976,"College Station, Texas",93857,103486
1600000US4817000,"Corpus Christi, Texas",305215,320431
1600000US4819000,"Dallas, Texas",1197816,1281031
1600000US4819972,"Denton, Texas",113383,128200
1600000US4824000,"El Paso, Texas",649121,679024
1600000US4827000,"Fort Worth, Texas",741206,812553
1600000US4827684,"Frisco, Texas",116989,145038
1600000US4829000,"Garland, Texas",226876,235597
1600000US4830464,"Grand Prairie, Texas",175396,185415
1600000US4835000,"Houston, Texas",2099451,2240796
1600000US4837000,"Irving, Texas",216290,232413
1600000US4839148,"Killeen, Texas",127921,138143
1600000US4841464,"Laredo, Texas",236091,253747
1600000US4842508,"Lewisville, Texas",95290,102283
1600000US4845000,"Lubbock, Texas",229573,243843
1600000US4845384,"McAllen, Texas",129877,138584
1600000US4845744,"McKinney, Texas",131117,156753
1600000US4847892,"Mesquite, Texas",139824,144289
1600000US4848072,"Midland, Texas",111147,128037
1600000US4853388,"Odessa, Texas",99940,116394
1600000US4856000,"Pasadena, Texas",149043,153914
1600000US4856348,"Pearland, Texas",91252,104759
1600000US4858016,"Plano, Texas",259841,277910
1600000US4861796,"Richardson, Texas",99223,108609
1600000US4863500,"Round Rock, Texas",99887,112196
1600000US4865000,"San Antonio, Texas",1327407,1436723
1600000US4872656,"The Woodlands, Texas",93847,102764
1600000US4874144,"Tyler, Texas",96900,101436
1600000US4876000,"Waco, Texas",124805,130191
1600000US4879000,"Wichita Falls, Texas",104553,105107
1600000US4962470,"Provo, Utah",112488,114807
1600000US4967000,"Salt Lake City, Utah",186440,190873
1600000US4982950,"West Jordan, Utah",103712,110917
1600000US4983470,"West Valley City, Utah",129480,134492
1600000US5101000,"Alexandria, Virginia",139966,150575
1600000US5103000,"Arlington, Virginia",207627,226908
1600000US5116000,"Chesapeake, Virginia",222209,233371
1600000US5135000,"Hampton, Virginia",137436,136879
1600000US5156000,"Newport News, Virginia",180719,182965
1600000US5157000,"Norfolk, Virginia",242803,245428
1600000US5167000,"Richmond, Virginia",204214,217853
1600000US5182000,"Virginia Beach, Virginia",437994,450980
1600000US5305210,"Bellevue, Washington",122363,136426
1600000US5322640,"Everett, Washington",103019,106741
1600000US5335415,"Kent, Washington",92411,125547
1600000US5363000,"Seattle, Washington",608660,668337
1600000US5367000,"Spokane, Washington",208916,212067
1600000US5370000,"Tacoma, Washington",198397,205153
1600000US5374060,"Vancouver, Washington",161791,169303
1600000US5531000,"Green Bay, Wisconsin",104057,104893
1600000US5548000,"Madison, Wisconsin",233209,245674
1600000US5553000,"Milwaukee, Wisconsin",594833,599653
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment