var dataSample = "fips\ttotalpop\tpctHispanic\tyear\n6001\t1510271\t0.225\t2010\n6003\t1175\t0.071\t2010\n6005\t38091\t0.125\t2010\n6007\t220000\t0.141\t2010\n6009\t45578\t0.103\t2010\n6011\t21419\t0.551\t2010\n6013\t1049025\t0.244\t2010\n6015\t28610\t0.178\t2010\n6017\t181058\t0.121\t2010\n6019\t930450\t0.503\t2010\n6021\t28122\t0.375\t2010\n6023\t134623\t0.098\t2010\n6025\t174528\t0.804\t2010\n6027\t18546\t0.194\t2010\n6029\t839631\t0.492\t2010\n6031\t152982\t0.509\t2010\n6033\t64665\t0.171\t2010\n6035\t34895\t0.175\t2010\n6037\t9818605\t0.477\t2010\n6039\t150865\t0.537\t2010\n6041\t252409\t0.155\t2010\n6043\t18251\t0.092\t2010\n6045\t87841\t0.222\t2010\n6047\t255793\t0.549\t2010\n6049\t9686\t0.139\t2010\n6051\t14202\t0.265\t2010\n6053\t415057\t0.554\t2010\n6055\t136484\t0.322\t2010\n6057\t98764\t0.085\t2010\n6059\t3010232\t0.337\t2010\n6061\t348432\t0.128\t2010\n6063\t20007\t0.080\t2010\n6065\t2189641\t0.455\t2010\n6067\t1418788\t0.216\t2010\n6069\t55269\t0.564\t2010\n6071\t2035210\t0.492\t2010\n6073\t3095313\t0.320\t2010\n6075\t805235\t0.151\t2010\n6077\t685306\t0.389\t2010\n6079\t269637\t0.208\t2010\n6081\t718451\t0.254\t2010\n6083\t423895\t0.429\t2010\n6085\t1781642\t0.269\t2010\n6087\t262382\t0.320\t2010\n6089\t177223\t0.084\t2010\n6091\t3240\t0.083\t2010\n6093\t44900\t0.103\t2010\n6095\t413344\t0.240\t2010\n6097\t483878\t0.249\t2010\n6099\t514453\t0.419\t2010\n6101\t94737\t0.288\t2010\n6103\t63463\t0.219\t2010\n6105\t13786\t0.070\t2010\n6107\t442179\t0.606\t2010\n6109\t55365\t0.107\t2010\n6111\t823318\t0.403\t2010\n6113\t200849\t0.303\t2010\n6115\t72155\t0.250\t2010\n6001\t1443741\t0.190\t2000\n6003\t1208\t0.078\t2000\n6005\t35100\t0.089\t2000\n6007\t203171\t0.105\t2000\n6009\t40554\t0.068\t2000\n6011\t18804\t0.465\t2000\n6013\t948816\t0.177\t2000\n6015\t27507\t0.139\t2000\n6017\t156299\t0.093\t2000\n6019\t799407\t0.440\t2000\n6021\t26453\t0.296\t2000\n6023\t126518\t0.065\t2000\n6025\t142361\t0.722\t2000\n6027\t17945\t0.126\t2000\n6029\t661645\t0.384\t2000\n6031\t129461\t0.436\t2000\n6033\t58309\t0.114\t2000\n6035\t33828\t0.138\t2000\n6037\t9519338\t0.446\t2000\n6039\t123109\t0.443\t2000\n6041\t247289\t0.111\t2000\n6043\t17130\t0.078\t2000\n6045\t86265\t0.165\t2000\n6047\t210554\t0.453\t2000\n6049\t9449\t0.115\t2000\n6051\t12853\t0.177\t2000\n6053\t401762\t0.468\t2000\n6055\t124279\t0.237\t2000\n6057\t92033\t0.057\t2000\n6059\t2846289\t0.308\t2000\n6061\t248399\t0.097\t2000\n6063\t20824\t0.057\t2000\n6065\t1545387\t0.362\t2000\n6067\t1223499\t0.160\t2000\n6069\t53234\t0.479\t2000\n6071\t1709434\t0.392\t2000\n6073\t2813833\t0.267\t2000\n6075\t776733\t0.141\t2000\n6077\t563598\t0.305\t2000\n6079\t246681\t0.163\t2000\n6081\t707161\t0.219\t2000\n6083\t399347\t0.342\t2000\n6085\t1682585\t0.240\t2000\n6087\t255602\t0.268\t2000\n6089\t163256\t0.055\t2000\n6091\t3555\t0.060\t2000\n6093\t44301\t0.076\t2000\n6095\t394542\t0.176\t2000\n6097\t458614\t0.173\t2000\n6099\t446997\t0.317\t2000\n6101\t78930\t0.222\t2000\n6103\t56039\t0.158\t2000\n6105\t13022\t0.040\t2000\n6107\t368021\t0.508\t2000\n6109\t54501\t0.082\t2000\n6111\t753197\t0.334\t2000\n6113\t168660\t0.259\t2000\n6115\t60219\t0.174\t2000\n6001\t1279182\t0.142\t1990\n6003\t1113\t0.066\t1990\n6005\t30039\t0.084\t1990\n6007\t182120\t0.075\t1990\n6009\t31998\t0.054\t1990\n6011\t16275\t0.333\t1990\n6013\t803732\t0.114\t1990\n6015\t23460\t0.103\t1990\n6017\t125995\t0.070\t1990\n6019\t667490\t0.355\t1990\n6021\t24798\t0.200\t1990\n6023\t119118\t0.042\t1990\n6025\t109303\t0.658\t1990\n6027\t18281\t0.084\t1990\n6029\t543477\t0.280\t1990\n6031\t101469\t0.341\t1990\n6033\t50631\t0.072\t1990\n6035\t27598\t0.104\t1990\n6037\t8863164\t0.378\t1990\n6039\t88090\t0.345\t1990\n6041\t230096\t0.078\t1990\n6043\t14302\t0.049\t1990\n6045\t80345\t0.103\t1990\n6047\t178403\t0.326\t1990\n6049\t9678\t0.072\t1990\n6051\t9956\t0.113\t1990\n6053\t355660\t0.336\t1990\n6055\t110765\t0.144\t1990\n6057\t78510\t0.042\t1990\n6059\t2410556\t0.234\t1990\n6061\t172796\t0.080\t1990\n6063\t19739\t0.046\t1990\n6065\t1170413\t0.263\t1990\n6067\t1041219\t0.117\t1990\n6069\t36697\t0.458\t1990\n6071\t1418380\t0.267\t1990\n6073\t2498016\t0.204\t1990\n6075\t723959\t0.139\t1990\n6077\t480628\t0.234\t1990\n6079\t217162\t0.133\t1990\n6081\t649623\t0.176\t1990\n6083\t369608\t0.266\t1990\n6085\t1497577\t0.210\t1990\n6087\t229734\t0.204\t1990\n6089\t147036\t0.038\t1990\n6091\t3318\t0.055\t1990\n6093\t43531\t0.059\t1990\n6095\t340421\t0.134\t1990\n6097\t388222\t0.106\t1990\n6099\t370522\t0.218\t1990\n6101\t64415\t0.164\t1990\n6103\t49625\t0.103\t1990\n6105\t13063\t0.033\t1990\n6107\t311921\t0.388\t1990\n6109\t48456\t0.077\t1990\n6111\t669016\t0.264\t1990\n6113\t141092\t0.200\t1990\n6115\t58228\t0.116\t1990\n6001\t1105379\t0.118\t1980\n6003\t1097\t0.038\t1980\n6005\t19314\t0.047\t1980\n6007\t143851\t0.052\t1980\n6009\t20710\t0.044\t1980\n6011\t12791\t0.195\t1980\n6013\t656380\t0.085\t1980\n6015\t18217\t0.056\t1980\n6017\t85812\t0.046\t1980\n6019\t514621\t0.293\t1980\n6021\t21350\t0.119\t1980\n6023\t108514\t0.034\t1980\n6025\t92110\t0.558\t1980\n6027\t17895\t0.061\t1980\n6029\t403089\t0.216\t1980\n6031\t73738\t0.269\t1980\n6033\t36366\t0.052\t1980\n6035\t21661\t0.065\t1980\n6037\t7477503\t0.276\t1980\n6039\t63116\t0.268\t1980\n6041\t222568\t0.041\t1980\n6043\t11108\t0.045\t1980\n6045\t66738\t0.055\t1980\n6047\t134560\t0.253\t1980\n6049\t8610\t0.041\t1980\n6051\t8577\t0.047\t1980\n6053\t290444\t0.259\t1980\n6055\t99199\t0.087\t1980\n6057\t51645\t0.030\t1980\n6059\t1932709\t0.148\t1980\n6061\t117247\t0.070\t1980\n6063\t17340\t0.037\t1980\n6065\t663166\t0.188\t1980\n6067\t783381\t0.095\t1980\n6069\t25005\t0.457\t1980\n6071\t895016\t0.185\t1980\n6073\t1861846\t0.148\t1980\n6075\t678974\t0.123\t1980\n6077\t347342\t0.192\t1980\n6079\t155435\t0.095\t1980\n6081\t587329\t0.125\t1980\n6083\t298694\t0.185\t1980\n6085\t1295071\t0.175\t1980\n6087\t188141\t0.147\t1980\n6089\t115715\t0.030\t1980\n6091\t3073\t0.064\t1980\n6093\t39732\t0.048\t1980\n6095\t235203\t0.105\t1980\n6097\t299681\t0.069\t1980\n6099\t265900\t0.150\t1980\n6101\t52246\t0.117\t1980\n6103\t38888\t0.055\t1980\n6105\t11858\t0.027\t1980\n6107\t245738\t0.298\t1980\n6109\t33928\t0.052\t1980\n6111\t529174\t0.214\t1980\n6113\t113374\t0.171\t1980\n6115\t49733\t0.088\t1980\n6001\t1073180\t0.126\t1970\n6003\t510\tNA\t1970\n6005\t11795\t0.076\t1970\n6007\t101969\t0.051\t1970\n6009\t13585\t0.057\t1970\n6011\t12430\t0.172\t1970\n6013\t558389\t0.093\t1970\n6015\t14580\t0.046\t1970\n6017\t43833\t0.044\t1970\n6019\t413053\t0.252\t1970\n6021\t17521\t0.106\t1970\n6023\t99692\t0.040\t1970\n6025\t74492\t0.460\t1970\n6027\t15571\t0.073\t1970\n6029\t329162\t0.168\t1970\n6031\t66019\t0.247\t1970\n6033\t19548\t0.045\t1970\n6035\t16796\t0.078\t1970\n6037\t7036457\t0.183\t1970\n6039\t41519\t0.240\t1970\n6041\t206038\t0.058\t1970\n6043\t6015\t0.026\t1970\n6045\t51101\t0.050\t1970\n6047\t104629\t0.229\t1970\n6049\t7469\t0.078\t1970\n6051\t4016\t0.012\t1970\n6053\t250071\t0.211\t1970\n6055\t79140\t0.075\t1970\n6057\t26346\t0.046\t1970\n6059\t1420386\t0.113\t1970\n6061\t77306\t0.093\t1970\n6063\t11707\t0.038\t1970\n6065\t459072\t0.173\t1970\n6067\t631498\t0.092\t1970\n6069\t18226\t0.449\t1970\n6071\t681092\t0.160\t1970\n6073\t1357387\t0.128\t1970\n6075\t715673\t0.142\t1970\n6077\t290207\t0.180\t1970\n6079\t105690\t0.111\t1970\n6081\t556234\t0.113\t1970\n6083\t264324\t0.173\t1970\n6085\t1064714\t0.175\t1970\n6087\t123788\t0.118\t1970\n6089\t77640\t0.038\t1970\n6091\t2359\t0.144\t1970\n6093\t33231\t0.054\t1970\n6095\t169941\t0.108\t1970\n6097\t204885\t0.074\t1970\n6099\t194506\t0.126\t1970\n6101\t41935\t0.092\t1970\n6103\t29517\t0.058\t1970\n6105\t7615\t0.022\t1970\n6107\t188322\t0.262\t1970\n6109\t22169\t0.070\t1970\n6111\t376430\t0.196\t1970\n6113\t91788\t0.167\t1970\n6115\t44736\t0.074\t1970"; var codeSamples = [ // Default { label: "By Year", code: "d3.nest()\n .key(function(d) { return d.year; })\n .map(data);"}, { label: "By Year, By County", code: "d3.nest()\n .key(function(d) { return d.year; })\n .key(function(d) { return d.fips; })\n .map(data);"}, { label: "Sum By Year", code: "d3.nest()\n .key(function(d) { return d.year; })\n .rollup(function(values) { return d3.sum(values, function(d) {return +d.totalpop; }) })\n .map(data);"}, { label: "Detailed Summaries", code: "d3.nest()\n .key(function(d) { return d.year; })\n .rollup(function(values) {\n return {\n totalHispanics: Math.round(d3.sum(values, function(d) { return d.totalpop * d.pctHispanic })),\n totalPop: d3.sum(values, function(d) { return d.totalpop })\n };\n })\n .map(data);"}, { label: "Arrays Instead of Maps", code: "d3.nest()\n .key(function(d) { return d.year; })\n .rollup(function(values) {\n return {\n totalHispanics: Math.round(d3.sum(values, function(d) { return d.totalpop * d.pctHispanic })),\n totalPop: d3.sum(values, function(d) { return d.totalpop })\n };\n })\n .entries(data);"} ]; var html = d3.select("#converter"); var left = html.append("div") .classed("left", true); var input = left.append("div") .classed("input", true); input.append("h3") .text("Input CSV or TSV"); input.append("textarea"); var code = left.append("div") .classed("code", true); var snippets = code.append("div") .classed("snippets", true); snippets.selectAll("snippet") .data(codeSamples) .enter().append("a") .classed("snippet", true) .text(function(d) { return d.label; }) .attr("href", "#") .on("click", function(d) { d3.event.preventDefault(); code.select("textarea") .property("value", d.code); update(); }); code.append("h3") .text("Code"); code.append("textarea"); var right = html.append("div") .classed("right", true); var output = right.append("div") .classed("output", true); output.append("button") .text("Update Output") .on("click", update); var codeOutput = output.append("pre"); codeOutput.append("code"); input.select("textarea") .property("value", dataSample); code.select("textarea") .property("value", codeSamples[0].code); update(); function update() { var t = input.select("textarea") .property("value"); var c = code.select("textarea") .property("value"); var data = (t.indexOf("\t") < 0 ? d3.csv : d3.tsv).parse(t); var out = eval(c); codeOutput.html(JSON.stringify(out, false, 2)); hljs.highlightBlock(codeOutput.node()) }