Skip to content

Instantly share code, notes, and snippets.

@emeeks
Last active February 9, 2017 18:32
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 emeeks/3993c03914e81f1d57650292b3001b27 to your computer and use it in GitHub Desktop.
Save emeeks/3993c03914e81f1d57650292b3001b27 to your computer and use it in GitHub Desktop.
W. E. B. Du Bois Viz II

An attempt to procedurally draw the amazing data visualization of African-American demographics in 1890 by W. E. B. Du Bois based on census data. Rural/Small Town/Suburban/Urban is just a threshold for pop density of less than 10, 10 to 100, 100 to 1000 and 1000 plus people per square mile from census land area of counties.

This version uses the second-most populous area (the top line) as the baseline for the scale to draw the spiral, emphasizing with the spiral the vast difference between where the majority of that group lives compared to where else that group resides.

Celebrate Black History

const fipsToState = {
"2": "ALASKA",
"28": "MISSISSIPPI",
"1": "ALABAMA",
"30": "MONTANA",
"5": "ARKANSAS",
"37": "NORTH CAROLINA",
"60": "AMERICAN SAMOA",
"38": "NORTH DAKOTA",
"4": "ARIZONA",
"31": "NEBRASKA",
"6": "CALIFORNIA",
"33": "NEW HAMPSHIRE",
"8": "COLORADO",
"34": "NEW JERSEY",
"9": "CONNECTICUT",
"35": "NEW MEXICO",
"11": "DISTRICT OF COLUMBIA",
"32": "NEVADA",
"10": "DELAWARE",
"36": "NEW YORK",
"12": "FLORIDA",
"39": "OHIO",
"13": "GEORGIA",
"40": "OKLAHOMA",
"66": "GUAM",
"41": "OREGON",
"15": "HAWAII",
"42": "PENNSYLVANIA",
"19": "IOWA",
"72": "PUERTO RICO",
"16": "IDAHO",
"44": "RHODE ISLAND",
"17": "ILLINOIS",
"45": "SOUTH CAROLINA",
"18": "INDIANA",
"46": "SOUTH DAKOTA",
"20": "KANSAS",
"47": "TENNESSEE",
"21": "KENTUCKY",
"48": "TEXAS",
"22": "LOUISIANA",
"49": "UTAH",
"25": "MASSACHUSETTS",
"51": "VIRGINIA",
"24": "MARYLAND",
"78": "VIRGIN ISLANDS",
"23": "MAINE",
"50": "VERMONT",
"26": "MICHIGAN",
"53": "WASHINGTON",
"27": "MINNESOTA",
"55": "WISCONSIN",
"29": "MISSOURI",
"54": "WEST VIRGINIA",
"56": "WYOMING"
}
<!DOCTYPE html>
<head>
<title>W E B Du Bois Data Visualization Remade</title>
</head>
<meta charset="utf-8">
<style>
svg {
height: 300px;
width: 300px;
display: inline-block;
}
body {
background: #e6d7c8;
}
.rural {
fill: #d9384a;
stroke: #a7212f;
background: #d9384a;
border: 1px solid #a7212f;
}
.urban {
fill: #3e6454;
stroke: #4f5e51;
background: #3e6454;
border: 1px solid #4f5e51;
}
.suburban {
fill: #5a74b0;
stroke: #47527a;
background: #5a74b0;
border: 1px solid #47527a;
}
.smalltown {
fill: #f4b32a;
stroke: #c9a15a;
background: #f4b32a;
border: 1px solid #c9a15a;
}
.final {
stroke: none;
}
.legend {
height: 200px;
width: 200px;
padding: 40px;
display: inline-block;
vertical-align: top;
}
.legend > div {
line-height: 40px;
}
.legend-item {
display: inline-block;
width: 20px;
height: 20px;
margin-right: 15px;
}
path {
stroke-linejoin: round;
stroke: none;
}
#viz > div {
display: inline-block;
width: 400px;
height: 50px;
}
</style>
<body>
<div id="viz">
<div class="legend">
<div><div class="legend-item urban"></div>Urban</div>
<div><div class="legend-item suburban"></div>Suburban</div>
<div><div class="legend-item smalltown"></div>Small Town</div>
<div><div class="legend-item rural"></div>Rural</div>
</div>
<div><a href="http://www.loc.gov/pictures/resource/ppmsca.33873/?co=anedub" target="_blank">Based on a data visualization of African-American demographics in 1890 by W. E. B. Du Bois</a>
</div>
</body>
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/4.5.0/d3.min.js" type="text/JavaScript"></script>
<script src="states.js" type="text/JavaScript"></script>
<script src="fipsToState.js" type="text/JavaScript"></script>
<script>
["white", "hispanic", "black", "asian", "nativeamerican", "hawaiipacificisland", "multiracial"].forEach(race => {
const div = d3.select("body").append("div")
div.append("h1")
.html(race)
.style("text-align", "center")
Object.keys(fipsToState).forEach(fip => {
const svg = div
.append("svg")
.attr("class", "f" + fip)
.attr("width", 300)
.attr("height", 300)
drawState(svg, fip)
})
function drawState(svg, selectedStateID) {
const selectedState = states.filter(d => d.id === selectedStateID)[0]
if (!selectedState) {
return
}
const ruralPopulation = selectedState.rural ? selectedState.rural[race] : 0
const urbanPopulation = selectedState.urban ? selectedState.urban[race] : 0
const suburbanPopulation = selectedState.suburban ? selectedState.suburban[race] : 0
const smallTownPopulation = selectedState.smalltown ? selectedState.smalltown[race] : 0
const piScale = d3.scaleLinear().domain([0,20]).range([0,Math.PI * 2])
let newData = []
const duboisData = [
{ type: "rural", value: ruralPopulation },
{ type: "smalltown", value: smallTownPopulation },
{ type: "suburban", value: suburbanPopulation },
{ type: "urban", value: urbanPopulation }
]
.sort((a,b) => a.value - b.value)
const max = duboisData[2].value
const popScale = d3.scaleLinear().domain([0, max]).range([0,75])
const ruralData = d3.range(popScale(ruralPopulation))
const urbanData = d3.range(popScale(urbanPopulation))
const suburbanData = d3.range(popScale(suburbanPopulation))
const smallTownData = d3.range(popScale(smallTownPopulation))
svg
.append("g")
.attr("transform", `translate(${100 - popScale(duboisData[2].value)},50)`)
.attr("class", "dubois")
svg
.append("text")
.text(fipsToState[selectedStateID])
.style("text-anchor", "middle")
.attr("x", 100)
.attr("y", 30)
const topArea = d3.area()
.x(d => d)
.y0(0)
.y1(10)
svg.select("g.dubois")
.append("path")
.attr("class", duboisData[2].type)
.attr("transform", "translate(0,0)")
.attr("d", topArea(d3.range(popScale(duboisData[2].value))))
const secondArea = d3.area()
.x0(d => popScale(duboisData[0].value) - d)
.x1(d => popScale(duboisData[0].value) - d + 10)
.y0(d => d)
.y1(d => d)
const secondOffset = popScale(duboisData[2].value) - popScale(duboisData[0].value) - 10
svg.select("g.dubois")
.append("path")
.attr("class", duboisData[0].type)
.attr("transform", `translate(${secondOffset},10)`)
.attr("d", secondArea(d3.range(popScale(duboisData[0].value))))
const thirdOffset = secondOffset
const thirdOffsetY = 10 + popScale(duboisData[0].value)
const thirdArea = d3.area()
.x0(d => d)
.x1(d => d + 10)
.y0(d => d)
.y1(d => d)
svg.select("g.dubois")
.append("path")
.attr("class", duboisData[1].type)
.attr("transform", `translate(${thirdOffset},${thirdOffsetY})`)
.attr("d", thirdArea(d3.range(popScale(duboisData[1].value))))
let fourthOffsetY = thirdOffsetY + popScale(duboisData[1].value)
const connectorAmount = Math.min(50, popScale(duboisData[3].value))
let fourthOffset = thirdOffset + popScale(duboisData[1].value) - connectorAmount
const radialConnectorArea = d3.area()
.x0(d => connectorAmount - d)
.x1(d => connectorAmount - d + 10)
.y0(d => d)
.y1(d => d)
svg.select("g.dubois")
.append("path")
.attr("class", "final " + duboisData[3].type)
.attr("transform", `translate(${fourthOffset},${fourthOffsetY})`)
.attr("d", radialConnectorArea(d3.range(connectorAmount)))
let rawSpiralData = Math.max(popScale(duboisData[3].value) - 50, 0) + 6
const spiralThicknessScaleA = d3.scaleLinear().domain([rawSpiralData,1]).range([50,1])
const spiralThicknessScaleB = d3.scaleLinear().domain([rawSpiralData,1]).range([1,7])
const spiralData = rawSpiralData
const spiralOffsetScale = d3.scaleLinear().domain([50,30]).range([9,0])
const fifthOffsetY = fourthOffsetY + 25 + connectorAmount + 3
const fifthOffset = fourthOffset + connectorAmount - spiralOffsetScale(50)
let spiralThickness = (d,spiralData,rawSpiralData) => {
if (!spiralData) {
if (rawSpiralData > 50) {
return 50 - spiralThicknessScaleA(d) - spiralThicknessScaleB(d)
}
return 50 - d
}
if (rawSpiralData > 50) {
return 50 - spiralThicknessScaleA(d) + spiralThicknessScaleB(d) - 7
}
return d >= spiralData - 6 ? 50 - d : 50 - d - 8
}
const radialArea = d3.radialArea()
.angle(d => -piScale(d%20) - 0.57)
.innerRadius(d => spiralThickness(d,spiralData,rawSpiralData))
.outerRadius(d => spiralThickness(d,undefined,rawSpiralData))
.curve(d3.curveBasis)
svg.select("g.dubois")
.append("path")
.attr("class", "final " + duboisData[3].type)
.attr("transform", `translate(${fifthOffset},${fifthOffsetY})`)
.attr("d", radialArea(d3.range(spiralData)))
}
})
</script>
const states = [{"id":"1","smalltown":{"density":90.3770120266671,"hispanic":58184,"white":1164044,"asian":7924,"black":366296,"hawaiipacificisland":2082,"nativeamerican":14676,"multiracial":21496,"state":"1"},"suburban":{"density":193.53311014942435,"hispanic":128663,"white":2200421,"asian":47586,"black":896045,"hawaiipacificisland":3120,"nativeamerican":18332,"multiracial":43276,"state":"1"}},{"id":"2","rural":{"density":0.21016842117884832,"hispanic":10193,"white":187352,"asian":10285,"black":2556,"hawaiipacificisland":998,"nativeamerican":71896,"multiracial":17941,"state":"2"},"suburban":{"density":149.49044358682852,"hispanic":22302,"white":199265,"asian":24248,"black":17132,"hawaiipacificisland":6094,"nativeamerican":24071,"multiracial":22417,"state":"2"},"smalltown":{"density":13.207714463813597,"hispanic":7375,"white":99327,"asian":4692,"black":4894,"hawaiipacificisland":601,"nativeamerican":10944,"multiracial":9272,"state":"2"}},{"id":"4","rural":{"density":6.388707899069183,"hispanic":42673,"white":161199,"asian":2653,"black":3020,"hawaiipacificisland":471,"nativeamerican":99041,"multiracial":5864,"state":"4"},"smalltown":{"density":21.190258742113286,"hispanic":389280,"white":1150140,"asian":18237,"black":34268,"hawaiipacificisland":3553,"nativeamerican":96785,"multiracial":28981,"state":"4"},"suburban":{"density":414.8974618584997,"hispanic":1476961,"white":4124440,"asian":168740,"black":244654,"hawaiipacificisland":12161,"nativeamerican":140650,"multiracial":118880,"state":"4"}},{"id":"5","smalltown":{"density":18.35662813754413,"hispanic":61799,"white":1200973,"asian":8476,"black":262448,"hawaiipacificisland":809,"nativeamerican":10207,"multiracial":20328,"state":"5"},"suburban":{"density":254.20724892224172,"hispanic":125531,"white":1140935,"asian":29209,"black":191834,"hawaiipacificisland":5876,"nativeamerican":15951,"multiracial":29218,"state":"5"},"rural":{"density":8.444648192352076,"hispanic":145,"white":4019,"asian":26,"black":1156,"hawaiipacificisland":0,"nativeamerican":53,"multiracial":88,"state":"5"}},{"id":"6","urban":{"density":1843.45030806322,"hispanic":7234417,"white":13285685,"asian":3583570,"black":1542061,"hawaiipacificisland":97324,"nativeamerican":261476,"multiracial":661162,"state":"6"},"rural":{"density":1.5647915181034135,"hispanic":22774,"white":139352,"asian":1924,"black":4342,"hawaiipacificisland":550,"nativeamerican":7943,"multiracial":6208,"state":"6"},"smalltown":{"density":62.956343295932214,"hispanic":697413,"white":1649132,"asian":50451,"black":39788,"hawaiipacificisland":4124,"nativeamerican":59646,"multiracial":56347,"state":"6"},"suburban":{"density":131.21236331548633,"hispanic":6134811,"white":12619796,"asian":1426762,"black":904928,"hawaiipacificisland":80244,"nativeamerican":295273,"multiracial":571275,"state":"6"}},{"id":"8","suburban":{"density":370.43236519372533,"hispanic":541159,"white":2688573,"asian":109139,"black":133097,"hawaiipacificisland":6039,"nativeamerican":37112,"multiracial":90044,"state":"8"},"smalltown":{"density":21.41958844096795,"hispanic":269873,"white":1072258,"asian":13575,"black":15092,"hawaiipacificisland":1347,"nativeamerican":24932,"multiracial":21946,"state":"8"},"rural":{"density":8.904883180157235,"hispanic":43576,"white":219165,"asian":1626,"black":2939,"hawaiipacificisland":147,"nativeamerican":3984,"multiracial":3642,"state":"8"},"urban":{"density":3902.466425619835,"hispanic":193093,"white":486749,"asian":21590,"black":64847,"hawaiipacificisland":961,"nativeamerican":12621,"multiracial":17646,"state":"8"}},{"id":"9","urban":{"density":1097.6141264739967,"hispanic":423850,"white":2139060,"asian":115160,"black":355852,"hawaiipacificisland":2714,"nativeamerican":12018,"multiracial":51377,"state":"9"},"suburban":{"density":200.96757460593037,"hispanic":58053,"white":812790,"asian":25972,"black":37107,"hawaiipacificisland":797,"nativeamerican":4776,"multiracial":19450,"state":"9"}},{"id":"10","suburban":{"density":203.6043692353838,"hispanic":26686,"white":276234,"asian":5519,"black":65663,"hawaiipacificisland":419,"nativeamerican":3743,"multiracial":9205,"state":"10"},"urban":{"density":1092.1038234757766,"hispanic":47156,"white":370379,"asian":23949,"black":131115,"hawaiipacificisland":271,"nativeamerican":2191,"multiracial":11081,"state":"10"}},{"id":"11","urban":{"density":8842.203042715038,"hispanic":55257,"white":252131,"asian":21788,"black":311823,"hawaiipacificisland":786,"nativeamerican":3271,"multiracial":14654,"state":"11"}},{"id":"12","suburban":{"density":255.36742400792423,"hispanic":1594747,"white":8979406,"asian":265139,"black":1560981,"hawaiipacificisland":11558,"nativeamerican":57515,"multiracial":207191,"state":"12"},"smalltown":{"density":46.02662500849012,"hispanic":125225,"white":811471,"asian":7850,"black":161636,"hawaiipacificisland":868,"nativeamerican":7948,"multiracial":14724,"state":"12"},"urban":{"density":1328.729901344204,"hispanic":2532719,"white":5041728,"asian":203808,"black":1360836,"hawaiipacificisland":6498,"nativeamerican":23978,"multiracial":111836,"state":"12"},"rural":{"density":9.908446194350228,"hispanic":512,"white":6564,"asian":49,"black":1483,"hawaiipacificisland":4,"nativeamerican":110,"multiracial":145,"state":"12"}},{"id":"13","smalltown":{"density":35.65556965732696,"hispanic":86953,"white":1241224,"asian":12442,"black":494982,"hawaiipacificisland":1429,"nativeamerican":7894,"multiracial":20296,"state":"13"},"rural":{"density":9.77977605315158,"hispanic":1640,"white":10658,"asian":113,"black":4669,"hawaiipacificisland":14,"nativeamerican":242,"multiracial":267,"state":"13"},"suburban":{"density":170.95918062200957,"hispanic":346013,"white":3184461,"asian":90613,"black":1159561,"hawaiipacificisland":6318,"nativeamerican":20408,"multiracial":79492,"state":"13"},"urban":{"density":1799.3138817658883,"hispanic":425289,"white":1719971,"asian":222405,"black":1344661,"hawaiipacificisland":2767,"nativeamerican":20336,"multiracial":67364,"state":"13"}},{"id":"15","smalltown":{"density":36.44723676373165,"hispanic":43481,"white":142706,"asian":109019,"black":2354,"hawaiipacificisland":45682,"nativeamerican":2162,"multiracial":105833,"state":"15"},"suburban":{"density":449.35777487329455,"hispanic":77484,"white":205999,"asian":425189,"black":20295,"hawaiipacificisland":92984,"nativeamerican":2979,"multiracial":208329,"state":"15"},"rural":{"density":1.7198547678196063,"hispanic":36,"white":8,"asian":4,"black":5,"hawaiipacificisland":13,"nativeamerican":3,"multiracial":57,"state":"15"}},{"id":"16","suburban":{"density":371.12261642052846,"hispanic":78869,"white":676389,"asian":12420,"black":6338,"hawaiipacificisland":1559,"nativeamerican":8102,"multiracial":17052,"state":"16"},"rural":{"density":2.88516980388436,"hispanic":28373,"white":215889,"asian":1930,"black":1507,"hawaiipacificisland":318,"nativeamerican":3855,"multiracial":4043,"state":"16"},"smalltown":{"density":72.39302832244009,"hispanic":70081,"white":587079,"asian":5784,"black":3143,"hawaiipacificisland":900,"nativeamerican":13897,"multiracial":11245,"state":"16"}},{"id":"17","smalltown":{"density":77.03254831749528,"hispanic":65002,"white":1805564,"asian":9633,"black":69206,"hawaiipacificisland":364,"nativeamerican":5544,"multiracial":21413,"state":"17"},"suburban":{"density":192.0839835437651,"hispanic":600566,"white":4046607,"asian":168426,"black":480066,"hawaiipacificisland":2714,"nativeamerican":24743,"multiracial":89172,"state":"17"},"urban":{"density":3181.223201560961,"hispanic":1373487,"white":4183631,"asian":429289,"black":1357234,"hawaiipacificisland":4409,"nativeamerican":43886,"multiracial":101265,"state":"17"}},{"id":"18","suburban":{"density":101.17958523312252,"hispanic":267376,"white":3744929,"asian":81233,"black":345828,"hawaiipacificisland":2510,"nativeamerican":15530,"multiracial":74325,"state":"18"},"smalltown":{"density":21.86900250971901,"hispanic":39868,"white":1285783,"asian":5801,"black":13238,"hawaiipacificisland":268,"nativeamerican":4356,"multiracial":11942,"state":"18"},"urban":{"density":2244.742129939719,"hispanic":85127,"white":611950,"asian":19041,"black":246276,"hawaiipacificisland":768,"nativeamerican":4689,"multiracial":22154,"state":"18"}},{"id":"19","smalltown":{"density":13.45712131572949,"hispanic":70649,"white":1562192,"asian":12348,"black":18226,"hawaiipacificisland":937,"nativeamerican":6320,"multiracial":16186,"state":"19"},"rural":{"density":9.447134596398852,"hispanic":130,"white":8975,"asian":59,"black":61,"hawaiipacificisland":0,"nativeamerican":17,"multiracial":36,"state":"19"},"suburban":{"density":229.42338625078676,"hispanic":81917,"white":1271018,"asian":42060,"black":73618,"hawaiipacificisland":1466,"nativeamerican":7246,"multiracial":29118,"state":"19"}},{"id":"20","smalltown":{"density":26.431003087641518,"hispanic":105602,"white":917816,"asian":10176,"black":26259,"hawaiipacificisland":1219,"nativeamerican":12710,"multiracial":22622,"state":"20"},"rural":{"density":4.263071277073231,"hispanic":16183,"white":219709,"asian":870,"black":2376,"hawaiipacificisland":40,"nativeamerican":1930,"multiracial":2912,"state":"20"},"suburban":{"density":234.20442571127504,"hispanic":99415,"white":778487,"asian":31406,"black":79934,"hawaiipacificisland":954,"nativeamerican":13965,"multiracial":32063,"state":"20"},"urban":{"density":1136.8153609063268,"hispanic":81109,"white":589400,"asian":27568,"black":65299,"hawaiipacificisland":648,"nativeamerican":4546,"multiracial":16260,"state":"20"}},{"id":"21","smalltown":{"density":45.15221346270467,"hispanic":30573,"white":1669454,"asian":6056,"black":49292,"hawaiipacificisland":738,"nativeamerican":4116,"multiracial":18453,"state":"21"},"suburban":{"density":105.06607929515418,"hispanic":49937,"white":1413369,"asian":17861,"black":94074,"hawaiipacificisland":1718,"nativeamerican":4822,"multiracial":27376,"state":"21"},"urban":{"density":1039.3478793822017,"hispanic":53409,"white":786168,"asian":26543,"black":200559,"hawaiipacificisland":744,"nativeamerican":3200,"multiracial":21723,"state":"21"}},{"id":"22","smalltown":{"density":94.0378620846955,"hispanic":44937,"white":1093532,"asian":13323,"black":480467,"hawaiipacificisland":862,"nativeamerican":20219,"multiracial":22283,"state":"22"},"suburban":{"density":356.1817041365422,"hispanic":147959,"white":1788660,"asian":58183,"black":979702,"hawaiipacificisland":1714,"nativeamerican":12458,"multiracial":37689,"state":"22"},"rural":{"density":3.5195883546610345,"hispanic":1269,"white":25348,"asian":771,"black":7896,"hawaiipacificisland":23,"nativeamerican":483,"multiracial":615,"state":"22"}},{"id":"23","suburban":{"density":216.4364002011061,"hispanic":10691,"white":671921,"asian":9675,"black":12844,"hawaiipacificisland":188,"nativeamerican":2690,"multiracial":11121,"state":"23"},"smalltown":{"density":10.501992918622733,"hispanic":6349,"white":579780,"asian":3952,"black":3319,"hawaiipacificisland":182,"nativeamerican":5949,"multiracial":8397,"state":"23"},"rural":{"density":4.008716886225903,"hispanic":143,"white":17024,"asian":158,"black":76,"hawaiipacificisland":1,"nativeamerican":97,"multiracial":193,"state":"23"}},{"id":"24","suburban":{"density":174.57299762647182,"hispanic":92463,"white":1587264,"asian":51716,"black":287735,"hawaiipacificisland":1801,"nativeamerican":7617,"multiracial":47127,"state":"24"},"urban":{"density":1181.2529322073656,"hispanic":373110,"white":1758052,"asian":274598,"black":1409451,"hawaiipacificisland":3505,"nativeamerican":22663,"multiracial":87873,"state":"24"},"smalltown":{"density":33.21566273640091,"hispanic":8276,"white":200459,"asian":2357,"black":39255,"hawaiipacificisland":109,"nativeamerican":749,"multiracial":3651,"state":"24"}},{"id":"25","suburban":{"density":165.40305778540352,"hispanic":362758,"white":3166243,"asian":95542,"black":207460,"hawaiipacificisland":3575,"nativeamerican":19162,"multiracial":65460,"state":"25"},"smalltown":{"density":33.76985743380855,"hispanic":3679,"white":92157,"asian":1224,"black":2135,"hawaiipacificisland":58,"nativeamerican":493,"multiracial":2038,"state":"25"},"urban":{"density":1776.7280535139153,"hispanic":265443,"white":2271626,"asian":264776,"black":296470,"hawaiipacificisland":2357,"nativeamerican":10417,"multiracial":56061,"state":"25"}},{"id":"26","rural":{"density":6.078545259583594,"hispanic":1762,"white":100264,"asian":456,"black":2421,"hawaiipacificisland":5,"nativeamerican":5633,"multiracial":2451,"state":"26"},"smalltown":{"density":60.8139579276906,"hispanic":50747,"white":1445381,"asian":9413,"black":45843,"hawaiipacificisland":398,"nativeamerican":20816,"multiracial":24735,"state":"26"},"suburban":{"density":102.34170523287055,"hispanic":229141,"white":3751857,"asian":92463,"black":387376,"hawaiipacificisland":1955,"nativeamerican":27326,"multiracial":98909,"state":"26"},"urban":{"density":1476.1516996893704,"hispanic":156901,"white":2642898,"asian":141685,"black":981607,"hawaiipacificisland":1111,"nativeamerican":14748,"multiracial":77823,"state":"26"}},{"id":"27","rural":{"density":8.11620785911526,"hispanic":2009,"white":118363,"asian":903,"black":695,"hawaiipacificisland":27,"nativeamerican":4749,"multiracial":2028,"state":"27"},"suburban":{"density":742.3635385856413,"hispanic":75377,"white":1637675,"asian":68949,"black":65193,"hawaiipacificisland":989,"nativeamerican":10035,"multiracial":35509,"state":"27"},"smalltown":{"density":22.502542953424165,"hispanic":59654,"white":1607892,"asian":15474,"black":18679,"hawaiipacificisland":805,"nativeamerican":33874,"multiracial":24802,"state":"27"},"urban":{"density":1903.967481819831,"hispanic":114968,"white":1263394,"asian":133588,"black":197084,"hawaiipacificisland":1148,"nativeamerican":18851,"multiracial":49878,"state":"27"}},{"id":"28","smalltown":{"density":66.32187217241096,"hispanic":37927,"white":938579,"asian":6594,"black":622906,"hawaiipacificisland":652,"nativeamerican":12417,"multiracial":13092,"state":"28"},"suburban":{"density":325.5625779960549,"hispanic":44060,"white":850479,"asian":19961,"black":481503,"hawaiipacificisland":1049,"nativeamerican":4403,"multiracial":17005,"state":"28"},"rural":{"density":3.1626642501132762,"hispanic":54,"white":460,"asian":23,"black":858,"hawaiipacificisland":0,"nativeamerican":25,"multiracial":30,"state":"28"}},{"id":"29","smalltown":{"density":44.975849653113194,"hispanic":51744,"white":1822039,"asian":11886,"black":58033,"hawaiipacificisland":2202,"nativeamerican":12433,"multiracial":30904,"state":"29"},"suburban":{"density":236.1608240859966,"hispanic":68893,"white":1862239,"asian":32929,"black":86951,"hawaiipacificisland":2753,"nativeamerican":10744,"multiracial":39656,"state":"29"},"urban":{"density":1095.915022072189,"hispanic":93104,"white":1328867,"asian":55858,"black":556861,"hawaiipacificisland":2242,"nativeamerican":7329,"multiracial":42139,"state":"29"},"rural":{"density":8.155090765588003,"hispanic":314,"white":29280,"asian":73,"black":188,"hawaiipacificisland":1,"nativeamerican":183,"multiracial":441,"state":"29"}},{"id":"30","rural":{"density":1.660520247292435,"hispanic":6234,"white":246915,"asian":1057,"black":748,"hawaiipacificisland":96,"nativeamerican":40092,"multiracial":5764,"state":"30"},"smalltown":{"density":30.061510321786013,"hispanic":22689,"white":645695,"asian":5326,"black":3457,"hawaiipacificisland":625,"nativeamerican":23512,"multiracial":17611,"state":"30"}},{"id":"31","smalltown":{"density":55.63374040660061,"hispanic":62187,"white":609255,"asian":4192,"black":5565,"hawaiipacificisland":675,"nativeamerican":10101,"multiracial":6882,"state":"31"},"rural":{"density":7.762466656571422,"hispanic":5841,"white":164104,"asian":799,"black":811,"hawaiipacificisland":68,"nativeamerican":2944,"multiracial":1592,"state":"31"},"urban":{"density":1527.3870160459298,"hispanic":58328,"white":423977,"asian":14244,"black":61728,"hawaiipacificisland":576,"nativeamerican":5830,"multiracial":12422,"state":"31"},"suburban":{"density":106.49886826618379,"hispanic":42399,"white":455077,"asian":14251,"black":18138,"hawaiipacificisland":738,"nativeamerican":4576,"multiracial":11884,"state":"31"}},{"id":"32","rural":{"density":4.93864023170404,"hispanic":29607,"white":151515,"asian":2404,"black":3006,"hawaiipacificisland":481,"nativeamerican":7660,"multiracial":4555,"state":"32"},"suburban":{"density":241.53354632587858,"hispanic":582954,"white":1497549,"asian":177604,"black":217199,"hawaiipacificisland":15755,"nativeamerican":23991,"multiracial":77388,"state":"32"},"smalltown":{"density":63.65447964536988,"hispanic":107505,"white":459577,"asian":24475,"black":11408,"hawaiipacificisland":3144,"nativeamerican":11444,"multiracial":15487,"state":"32"}},{"id":"33","suburban":{"density":128.22510083441816,"hispanic":33928,"white":1043332,"asian":25553,"black":14915,"hawaiipacificisland":464,"nativeamerican":2806,"multiracial":16079,"state":"33"},"smalltown":{"density":48.20622379877459,"hispanic":3152,"white":204914,"asian":3471,"black":1436,"hawaiipacificisland":60,"nativeamerican":685,"multiracial":3044,"state":"33"}},{"id":"34","suburban":{"density":409.0800780377381,"hispanic":276476,"white":2478234,"asian":105191,"black":281332,"hawaiipacificisland":1569,"nativeamerican":10962,"multiracial":50482,"state":"34"},"urban":{"density":3672.8830726845476,"hispanic":1287561,"white":4071195,"asian":644484,"black":1003045,"hawaiipacificisland":6218,"nativeamerican":39168,"multiracial":109744,"state":"34"}},{"id":"35","suburban":{"density":568.6653490421554,"hispanic":321943,"white":585545,"asian":17947,"black":22608,"hawaiipacificisland":1134,"nativeamerican":36951,"multiracial":18485,"state":"35"},"rural":{"density":0.5382791518567744,"hispanic":170286,"white":304412,"asian":2903,"black":6066,"hawaiipacificisland":551,"nativeamerican":30104,"multiracial":6778,"state":"35"},"smalltown":{"density":10.826749621436566,"hispanic":467185,"white":836809,"asian":10534,"black":20466,"hawaiipacificisland":1454,"nativeamerican":142232,"multiracial":20953,"state":"35"}},{"id":"36","suburban":{"density":569.5409301366525,"hispanic":571869,"white":5737909,"asian":201172,"black":639667,"hawaiipacificisland":3784,"nativeamerican":35513,"multiracial":132655,"state":"36"},"smalltown":{"density":47.311692831180885,"hispanic":62374,"white":1735934,"asian":15147,"black":55263,"hawaiipacificisland":929,"nativeamerican":13481,"multiracial":27130,"state":"36"},"urban":{"density":24149.37304075235,"hispanic":2800920,"white":6422793,"asian":1271425,"black":2689090,"hawaiipacificisland":19433,"nativeamerican":134667,"multiracial":251460,"state":"36"},"rural":{"density":2.672161070855689,"hispanic":57,"white":4604,"asian":45,"black":65,"hawaiipacificisland":1,"nativeamerican":34,"multiracial":82,"state":"36"}},{"id":"37","suburban":{"density":348.5004599816007,"hispanic":519849,"white":4734442,"asian":115620,"black":1321937,"hawaiipacificisland":7431,"nativeamerican":108654,"multiracial":119798,"state":"37"},"smalltown":{"density":47.397248641304344,"hispanic":83764,"white":974183,"asian":7726,"black":287368,"hawaiipacificisland":1089,"nativeamerican":24693,"multiracial":17997,"state":"37"},"rural":{"density":4.077949438202247,"hispanic":653,"white":6288,"asian":122,"black":3508,"hawaiipacificisland":2,"nativeamerican":136,"multiracial":168,"state":"37"},"urban":{"density":1679.752246516535,"hispanic":201799,"white":1198018,"asian":93912,"black":483590,"hawaiipacificisland":1860,"nativeamerican":14780,"multiracial":38236,"state":"37"}},{"id":"38","rural":{"density":2.3723568849922643,"hispanic":3883,"white":189374,"asian":677,"black":778,"hawaiipacificisland":71,"nativeamerican":15240,"multiracial":2579,"state":"38"},"smalltown":{"density":48.956909574850734,"hispanic":9864,"white":421271,"asian":6376,"black":7474,"hawaiipacificisland":282,"nativeamerican":21792,"multiracial":8585,"state":"38"}},{"id":"39","smalltown":{"density":48.73427444821876,"hispanic":24191,"white":1253169,"asian":4671,"black":18405,"hawaiipacificisland":288,"nativeamerican":3508,"multiracial":16303,"state":"39"},"suburban":{"density":260.99724761623906,"hispanic":173183,"white":5346148,"asian":74683,"black":374076,"hawaiipacificisland":2453,"nativeamerican":14815,"multiracial":104682,"state":"39"},"urban":{"density":1026.1620718999375,"hispanic":159413,"white":3060348,"asian":118238,"black":1036730,"hawaiipacificisland":2647,"nativeamerican":11437,"multiracial":93581,"state":"39"}},{"id":"40","smalltown":{"density":39.399715800783284,"hispanic":96383,"white":1176184,"asian":8722,"black":57578,"hawaiipacificisland":2441,"nativeamerican":208005,"multiracial":93050,"state":"40"},"rural":{"density":6.404991491775383,"hispanic":9193,"white":89047,"asian":408,"black":2910,"hawaiipacificisland":36,"nativeamerican":5898,"multiracial":3497,"state":"40"},"suburban":{"density":128.4032035349351,"hispanic":52564,"white":621582,"asian":21691,"black":44527,"hawaiipacificisland":1249,"nativeamerican":54372,"multiracial":43909,"state":"40"},"urban":{"density":1003.8948745789137,"hispanic":176454,"white":971143,"asian":36745,"black":180384,"hawaiipacificisland":1659,"nativeamerican":68721,"multiracial":67944,"state":"40"}},{"id":"41","rural":{"density":5.211729548243384,"hispanic":16716,"white":107555,"asian":1132,"black":877,"hawaiipacificisland":178,"nativeamerican":2086,"multiracial":2510,"state":"41"},"suburban":{"density":126.02907173679327,"hispanic":219785,"white":1312598,"asian":75171,"black":20488,"hawaiipacificisland":6920,"nativeamerican":22345,"multiracial":47800,"state":"41"},"smalltown":{"density":34.17219764011799,"hispanic":135865,"white":1389845,"asian":20390,"black":9996,"hawaiipacificisland":3275,"nativeamerican":31351,"multiracial":46538,"state":"41"},"urban":{"density":1584.5007515567963,"hispanic":80774,"white":598943,"asian":49219,"black":43308,"hawaiipacificisland":4346,"nativeamerican":11263,"multiracial":30823,"state":"41"}},{"id":"42","suburban":{"density":194.57972237134751,"hispanic":356473,"white":5920880,"asian":105489,"black":331435,"hawaiipacificisland":3301,"nativeamerican":16898,"multiracial":98106,"state":"42"},"urban":{"density":1642.988734172116,"hispanic":351921,"white":3639436,"asian":249600,"black":1080103,"hawaiipacificisland":3699,"nativeamerican":20804,"multiracial":94153,"state":"42"},"smalltown":{"density":48.85453419689628,"hispanic":15603,"white":1104503,"asian":4858,"black":23428,"hawaiipacificisland":172,"nativeamerican":2219,"multiracial":10546,"state":"42"}},{"id":"44","urban":{"density":1115.0301945873407,"hispanic":119269,"white":557725,"asian":24916,"black":67888,"hawaiipacificisland":1385,"nativeamerican":7230,"multiracial":17779,"state":"44"},"suburban":{"density":883.4796021488219,"hispanic":12114,"white":352337,"asian":6944,"black":7308,"hawaiipacificisland":203,"nativeamerican":1930,"multiracial":7241,"state":"44"}},{"id":"45","smalltown":{"density":49.56955585991,"hispanic":30131,"white":470171,"asian":4134,"black":374385,"hawaiipacificisland":597,"nativeamerican":6026,"multiracial":9471,"state":"45"},"suburban":{"density":148.59837302064727,"hispanic":207342,"white":2699264,"asian":57501,"black":933040,"hawaiipacificisland":3370,"nativeamerican":18726,"multiracial":59627,"state":"45"}},{"id":"46","rural":{"density":3.8072918128490834,"hispanic":4383,"white":172072,"asian":805,"black":872,"hawaiipacificisland":66,"nativeamerican":50489,"multiracial":4295,"state":"46"},"smalltown":{"density":13.762026357189725,"hispanic":11072,"white":383623,"asian":4414,"black":3136,"hawaiipacificisland":273,"nativeamerican":18115,"multiracial":8316,"state":"46"},"suburban":{"density":208.895961855138,"hispanic":7002,"white":152688,"asian":2575,"black":6542,"hawaiipacificisland":169,"nativeamerican":4412,"multiracial":3601,"state":"46"}},{"id":"47","suburban":{"density":217.96247426268016,"hispanic":139311,"white":2888805,"asian":47232,"black":300842,"hawaiipacificisland":3298,"nativeamerican":14061,"multiracial":54023,"state":"47"},"smalltown":{"density":95.09781212491315,"hispanic":38999,"white":1354745,"asian":5629,"black":106456,"hawaiipacificisland":625,"nativeamerican":5868,"multiracial":18150,"state":"47"},"urban":{"density":1193.8060665957123,"hispanic":113846,"white":818858,"asian":41589,"black":663979,"hawaiipacificisland":1518,"nativeamerican":6431,"multiracial":24788,"state":"47"}},{"id":"48","smalltown":{"density":54.22011966049812,"hispanic":1346719,"white":3617146,"asian":29817,"black":328021,"hawaiipacificisland":3998,"nativeamerican":38606,"multiracial":50105,"state":"48"},"rural":{"density":9.881486120086072,"hispanic":193358,"white":407330,"asian":2087,"black":12396,"hawaiipacificisland":103,"nativeamerican":5122,"multiracial":4347,"state":"48"},"suburban":{"density":100.58067575852218,"hispanic":3548562,"white":8160365,"asian":393889,"black":893132,"hawaiipacificisland":11176,"nativeamerican":81996,"multiracial":157112,"state":"48"},"urban":{"density":1371.6063528438206,"hispanic":4448389,"white":8293985,"asian":581480,"black":1848276,"hawaiipacificisland":16175,"nativeamerican":126997,"multiracial":193453,"state":"48"}},{"id":"49","rural":{"density":2.562460702892653,"hispanic":20265,"white":223382,"asian":1614,"black":1189,"hawaiipacificisland":632,"nativeamerican":13364,"multiracial":4166,"state":"49"},"smalltown":{"density":96.67567360229123,"hispanic":42514,"white":415449,"asian":4778,"black":2878,"hawaiipacificisland":2174,"nativeamerican":5792,"multiracial":7008,"state":"49"},"suburban":{"density":485.90684533674255,"hispanic":121626,"white":993678,"asian":16349,"black":11017,"hawaiipacificisland":6758,"nativeamerican":8733,"multiracial":23598,"state":"49"},"urban":{"density":1279.8608618149858,"hispanic":177553,"white":925622,"asian":35556,"black":18988,"hawaiipacificisland":16650,"nativeamerican":13058,"multiracial":24036,"state":"49"}},{"id":"50","smalltown":{"density":45.531009573757515,"hispanic":6514,"white":446879,"asian":3533,"black":3008,"hawaiipacificisland":142,"nativeamerican":1833,"multiracial":7562,"state":"50"},"suburban":{"density":252.9050062941803,"hispanic":2845,"white":145635,"asian":4482,"black":3371,"hawaiipacificisland":46,"nativeamerican":414,"multiracial":2757,"state":"50"},"rural":{"density":9.346571093599275,"hispanic":69,"white":6093,"asian":47,"black":37,"hawaiipacificisland":0,"nativeamerican":23,"multiracial":98,"state":"50"}},{"id":"51","smalltown":{"density":25.341556122059565,"hispanic":38931,"white":1310750,"asian":8301,"black":238213,"hawaiipacificisland":445,"nativeamerican":6558,"multiracial":19392,"state":"51"},"suburban":{"density":136.52511566424323,"hispanic":170291,"white":2113280,"asian":125333,"black":468261,"hawaiipacificisland":2874,"nativeamerican":11772,"multiracial":70599,"state":"51"},"urban":{"density":8065.344628417405,"hispanic":427422,"white":2307238,"asian":318606,"black":878878,"hawaiipacificisland":4942,"nativeamerican":23420,"multiracial":108735,"state":"51"},"rural":{"density":8.817972651938868,"hispanic":122,"white":6636,"asian":41,"black":261,"hawaiipacificisland":0,"nativeamerican":20,"multiracial":62,"state":"51"}},{"id":"53","rural":{"density":9.75317790571738,"hispanic":20183,"white":96133,"asian":877,"black":658,"hawaiipacificisland":202,"nativeamerican":8013,"multiracial":2776,"state":"53"},"smalltown":{"density":33.85100438589645,"hispanic":304850,"white":1388119,"asian":28465,"black":16766,"hawaiipacificisland":3585,"nativeamerican":47486,"multiracial":43134,"state":"53"},"suburban":{"density":100.24770053232889,"hispanic":436458,"white":4063783,"asian":465860,"black":235983,"hawaiipacificisland":39994,"nativeamerican":67759,"multiracial":234903,"state":"53"}},{"id":"54","smalltown":{"density":48.43189310616449,"hispanic":5935,"white":735809,"asian":2128,"black":12775,"hawaiipacificisland":80,"nativeamerican":1495,"multiracial":6876,"state":"54"},"suburban":{"density":325.36612667516556,"hispanic":16606,"white":1002647,"asian":10535,"black":51143,"hawaiipacificisland":401,"nativeamerican":2454,"multiracial":18931,"state":"54"},"rural":{"density":9.235587642000212,"hispanic":69,"white":8531,"asian":9,"black":88,"hawaiipacificisland":0,"nativeamerican":5,"multiracial":66,"state":"54"}},{"id":"55","smalltown":{"density":30.269979813236123,"hispanic":49623,"white":1838911,"asian":27684,"black":17314,"hawaiipacificisland":575,"nativeamerican":25825,"multiracial":19976,"state":"55"},"rural":{"density":7.05327992118948,"hispanic":735,"white":44480,"asian":245,"black":284,"hawaiipacificisland":10,"nativeamerican":4542,"multiracial":1198,"state":"55"},"suburban":{"density":403.7662274359432,"hispanic":287861,"white":3155513,"asian":104476,"black":350155,"hawaiipacificisland":1920,"nativeamerican":29871,"multiracial":68068,"state":"55"}},{"id":"56","rural":{"density":8.456195477868569,"hispanic":30340,"white":324123,"asian":2816,"black":1870,"hawaiipacificisland":212,"nativeamerican":11911,"multiracial":5605,"state":"56"},"smalltown":{"density":34.27573274996093,"hispanic":20351,"white":205556,"asian":1824,"black":3231,"hawaiipacificisland":292,"nativeamerican":2527,"multiracial":4493,"state":"56"}}]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment