Last active
October 17, 2015 22:48
-
-
Save CrandellWS/153bcfa208e2bde8a353 to your computer and use it in GitHub Desktop.
d3.js Example
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<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> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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