Skip to content

Instantly share code, notes, and snippets.

@Fil
Last active June 21, 2017 10:38
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 Fil/aec6cbf62f9b71c3407db87d5eb592e7 to your computer and use it in GitHub Desktop.
Save Fil/aec6cbf62f9b71c3407db87d5eb592e7 to your computer and use it in GitHub Desktop.
A jupyter notebook for D3
license: mit
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Run D3 in a IJavascript notebook\n",
"\n",
"by Philippe Rivière, based on https://gist.github.com/mef/7044786 and https://gist.github.com/danioyuan/d776a8034b64ceaa80bb\n",
"\n",
"We use `jsdom` to provide a playground for D3’s select().enter().append() pattern."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false,
"outputExpanded": false
},
"outputs": [
{
"data": {
"text/plain": [
"undefined"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"var css = `\n",
".graph {\n",
" stroke: #f40024;\n",
" stroke-opacity: 1;\n",
" stroke-width: 2;\n",
"}\n",
".polygons {\n",
" fill: none;\n",
" stroke: #dbdbdb;\n",
" stroke-width: 1;\n",
"}\n",
".sites {\n",
" fill: #000;\n",
" stroke: #fff;\n",
"}\n",
"`;\n",
"\n",
"var d3 = require('d3')\n",
" , jsdom = require('jsdom')\n",
" , run = (main) => {\n",
" jsdom.env({\n",
" html: `<html><style>${css}</style><body></body></html>`,\n",
" done: function(err, window) {\n",
" // pre-renders the dataviz inside the jsdom window\n",
" document = window.document;\n",
" main (d3.select(document.querySelector('body')));\n",
" // then exports the result to the notebook\n",
" $$.html(d3.select('html').node().innerHTML);\n",
" }\n",
" });\n",
" };"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"undefined"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"function show_urquart(sel) {\n",
" var svg = sel\n",
" .append('svg')\n",
" .attr('width', width)\n",
" .attr('height', height);\n",
"\n",
" var sites = d3.range(nsites)\n",
" .map(function(d) { return [Math.random() * width, Math.random() * height]; })\n",
" .map(function(d,i) { d.index = i; return d; });\n",
"\n",
"var voronoi = d3.voronoi();\n",
"\n",
"var polygon = svg.append(\"g\")\n",
" .attr(\"class\", \"polygons\")\n",
" .selectAll(\"path\")\n",
" .data(voronoi.polygons(sites))\n",
" .enter().append(\"path\")\n",
" .call(drawPolygon);\n",
"\n",
"var graph = svg.append('g')\n",
".attr('class', 'graph');\n",
"\n",
"var site = svg.append('g')\n",
".attr('class', 'site')\n",
".selectAll('circle')\n",
".data(sites)\n",
".enter()\n",
".append('circle')\n",
".attr('r',2)\n",
".attr('fill','white')\n",
".attr('stroke','black')\n",
".call(drawSite)\n",
";\n",
"\n",
"var diagram = voronoi(sites);\n",
" \n",
" diagram.urquhart = function(){\n",
" var urquhart = d3.map();\n",
" \n",
" diagram.links()\n",
" .forEach(function(link) {\n",
" var v = d3.extent([link.source.index, link.target.index]);\n",
" urquhart.set(v, link);\n",
" });\n",
" urquhart._remove = [];\n",
" diagram.triangles()\n",
" .forEach(function(t) {\n",
" var l = 0, length = 0, i, v;\n",
" for (var j=0; j<3; j++) {\n",
" var a = t[j], b = t[(j+1)%3];\n",
" v = d3.extent([a.index, b.index]);\n",
" length = (a[0]-b[0]) * (a[0]-b[0]) + (a[1]-b[1]) * (a[1]-b[1]);\n",
" if (length > l) {\n",
" l = length;\n",
" i = v;\n",
" }\n",
" }\n",
" urquhart._remove.push(i);\n",
" });\n",
" urquhart._remove.forEach(function(i) {\n",
" if (urquhart.has(i)) urquhart.remove(i);\n",
" });\n",
" return urquhart.values();\n",
" }\n",
"\n",
" drawgraph();\n",
" \n",
"function drawgraph(){\n",
" var links = diagram.urquhart();\n",
" graph\n",
" .selectAll('line')\n",
" .data(links)\n",
" .enter().append('line')\n",
" .attr('x1', function(l){ return l.source[0];})\n",
" .attr('y1', function(l){ return l.source[1];})\n",
" .attr('x2', function(l){ return l.target[0];})\n",
" .attr('y2', function(l){ return l.target[1];})\n",
"}\n",
" \n",
"function drawPolygon(polygon) {\n",
" polygon.attr(\"d\", function(d) {\n",
" if (d && !d.filter(function(n){ return !n}).length) {\n",
" return \"M\" + d.join(\"L\") + \"Z\";\n",
" }\n",
" });\n",
"}\n",
"function drawSite(site) {\n",
" site\n",
" .attr(\"transform\", function(d) { return 'translate(' + d + ')'; });\n",
"}\n",
"\n",
"\n",
"} // main\n"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false,
"outputExpanded": false
},
"outputs": [
{
"data": {
"text/plain": [
"undefined"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/html": [
"<head><style>\n",
".graph {\n",
" stroke: #f40024;\n",
" stroke-opacity: 1;\n",
" stroke-width: 2;\n",
"}\n",
".polygons {\n",
" fill: none;\n",
" stroke: #dbdbdb;\n",
" stroke-width: 1;\n",
"}\n",
".sites {\n",
" fill: #000;\n",
" stroke: #fff;\n",
"}\n",
"</style></head><body><svg width=\"400\" height=\"250\"><g class=\"polygons\"><path d=\"M307.04727193842797,166.86899011634023L332.4637492023617,174.26777772407345L335.44303673545284,139.80878661600462L318.18691658710003,128.28532126570076Z\"></path><path d=\"M114.66109250880719,122.52396478730888L158.58210411692986,136.33162419733478L162.88175823823235,134.71870236455646L159.9267807225666,107.85185271500836L121.79576159411583,109.82303699023457L116.9827156396672,115.90577586973885Z\"></path><path d=\"M101.42927927413693,85.23460134374258L116.9827156396672,115.90577586973885L121.79576159411583,109.82303699023457L138.47766144512772,76.34549562861513L129.75093922648136,66.24671671971096L111.80673714936981,61.75671205372076L101.45998972121089,63.332840167204004Z\"></path><path d=\"M252.06590889933813,60.75142838286771L260.8729846918053,77.96156846078738L285.11141871442425,45.64247246839935L278.3096425702181,38.33590939321765L270.67883095695333,32.881612822420514L265.320071614009,35.752473930328435Z\"></path><path d=\"M129.75093922648136,66.24671671971096L138.47766144512772,76.34549562861513L141.71722871986506,77.03831156519101L167.30781584010427,52.88766160283952L171.72443805282967,38.57018378916265L150.59821392092178,40.45046541963621L141.58076642380698,43.14643014976281Z\"></path><path d=\"M230.5792694086247,108.87510882649558L232.0775593569595,118.34004224045782L253.79925066249172,126.02185604699076L303.80472828740346,114.0047159947633L262.7412828497518,79.5290990764481L261.07273122939563,78.9936147732736Z\"></path><path d=\"M191.31148874346684,196.45872580891916L222.5202738775597,261.9711030262071L249.42047544410985,212.2412986263965L219.36958612310838,177.32303091986324L205.95501517840898,173.0772484893956L191.9349024355965,194.03036604177095Z\"></path><path d=\"M368.2423686282463,23.945200384353758L380.447157684663,52.749365436030814L405.91278144647134,36.33799548216158Z\"></path><path d=\"M42.17842452704119,121.53678123372808L68.04870127326724,159.36340182951372L83.48465743816209,125.8655488457667L72.57126843581034,113.04715153078426L62.328000577257825,104.85151717964564Z\"></path><path d=\"M262.7412828497518,79.5290990764481L303.80472828740346,114.0047159947633L309.0876696387351,115.6865318388326L313.8577110847702,115.84541832312087L326.3032701258226,99.60172323949195L328.07580299656854,86.60452124077045L325.8092616792131,80.18658297539079L305.9942180029499,73.05056796685932L277.84579123523577,74.23251508586927Z\"></path><path d=\"M297.3656792558305,301.1865100751557L303.9804664298254,364.49132791254885L340.51338282094844,212.92826833897826L338.32515881122106,205.92744960949102L305.54798557824,199.23120800154865L301.609409260666,202.98746258002416Z\"></path><path d=\"M270.65533218684976,187.9455648214793L271.8610766697116,188.86084916488167L304.04448862834323,177.3964562416072L304.6494027461453,169.85850540882032L272.9378941790795,177.45520100190737Z\"></path><path d=\"M260.8729846918053,77.96156846078738L261.07273122939563,78.9936147732736L262.7412828497518,79.5290990764481L277.84579123523577,74.23251508586927L292.8669112565277,58.38479590145305L291.85244367968494,46.85983850106347L285.11141871442425,45.64247246839935Z\"></path><path d=\"M225.4061478613031,132.62290125901302L261.59829650633577,162.21762835493172L266.3618902825156,161.05075647974158L272.6740658952125,152.91695082186334L272.66966809346184,152.04132141074993L253.79925066249172,126.02185604699076L232.0775593569595,118.34004224045782Z\"></path><path d=\"M171.24958916055445,136.86317049710001L205.2937978682726,161.49505726445622L225.4061478613031,132.62290125901302L232.0775593569595,118.34004224045782L230.5792694086247,108.87510882649558L202.53023333695683,87.80217087936475Z\"></path><path d=\"M211.94811810232727,28.537865084294438L219.7633974561775,39.560302603322654L243.39207279866739,9.276837330095407L244.6708612259121,3.562119155579784L225.37791113317567,7.6912198111949595Z\"></path><path d=\"M338.32515881122106,205.92744960949102L340.51338282094844,212.92826833897826L378.9848626421456,221.18177921536756L382.09336561498924,194.2804492581736L381.59513366630375,193.982613306851L347.7896783042425,187.03364093488162Z\"></path><path></path><path d=\"M375.25172346801565,171.17630252786722L381.59513366630375,193.982613306851L382.09336561498924,194.2804492581736L444.29586872671064,169.16745444119195L379.57819621897653,160.76900941903426Z\"></path><path></path><path d=\"M60.971857371753615,205.4849117561391L63.13593873995646,219.83860440001143L72.87185136127704,240.61200831347222L93.96368328887999,231.39007983320926L112.55892859197503,208.34290786939786L62.114990710238345,203.09327817644663Z\"></path><path></path><path d=\"M251.46792237563608,211.40847295963277L272.203933380535,217.53339816753984L282.53016170204114,203.85249697410117L256.17266625045374,203.43170505567872Z\"></path><path d=\"M28.349117936067206,131.56293397628474L40.334519448935964,158.86135309707922L62.35290394339598,169.73086189325556L65.24975813492244,166.10068500720482L68.04870127326724,159.36340182951372L42.17842452704119,121.53678123372808Z\"></path><path d=\"M278.3096425702181,38.33590939321765L285.11141871442425,45.64247246839935L291.85244367968494,46.85983850106347L325.04958215997635,33.10267302865301L336.35425688320976,-6.10610706736405L336.2315765382984,-7.19259836208176Z\"></path><path d=\"M141.71722871986506,77.03831156519101L163.10659744627483,89.6180243031141L177.55672510612519,86.25830762151351L171.3007538909125,61.53001961963579L167.30781584010427,52.88766160283952Z\"></path><path d=\"M65.24975813492244,166.10068500720482L116.75243274805518,163.2370190851478L117.34645970391547,161.26567287078151L109.5377963184293,126.23132402250158L83.48465743816209,125.8655488457667L68.04870127326724,159.36340182951372Z\"></path><path d=\"M93.96368328887999,231.39007983320926L118.98245234508339,228.8112284737169L119.35383289461146,228.72955832145175L117.75346601518572,206.83915919305724L112.55892859197503,208.34290786939786Z\"></path><path d=\"M6.937184128836716,187.86679454750174L43.46825659944841,204.53317130723102L60.971857371753615,205.4849117561391L62.114990710238345,203.09327817644663L64.81322086668628,192.19526667456483L62.35290394339598,169.73086189325556L40.334519448935964,158.86135309707922L30.225528165192117,163.02871503920989Z\"></path><path d=\"M222.5202738775597,261.9711030262071L233.74410670160125,356.27218641933274L292.2553732792484,619.9484646172087L303.9804664298254,364.49132791254885L297.3656792558305,301.1865100751557L272.203933380535,217.53339816753984L251.46792237563608,211.40847295963277L249.42047544410985,212.2412986263965Z\"></path><path d=\"M291.85244367968494,46.85983850106347L292.8669112565277,58.38479590145305L305.9942180029499,73.05056796685932L325.8092616792131,80.18658297539079L326.86880755171154,46.93825831581737L325.04958215997635,33.10267302865301Z\"></path><path d=\"M350.33530733892496,175.23687664034298L375.25172346801565,171.17630252786722L379.57819621897653,160.76900941903426L364.5400732251114,145.83402734966958L355.22927203201624,149.38452809790044Z\"></path><path d=\"M243.00783521126846,176.4260402759418L261.79011519573504,190.08343285974215L270.65533218684976,187.9455648214793L272.9378941790795,177.45520100190737L266.3618902825156,161.05075647974158L261.59829650633577,162.21762835493172Z\"></path><path d=\"M120.97848942783624,160.4869906341782L151.28143398949436,170.0822271419213L150.28660857386382,151.29747523658096Z\"></path><path></path><path d=\"M272.203933380535,217.53339816753984L297.3656792558305,301.1865100751557L301.609409260666,202.98746258002416L283.48771621743936,202.83066838003404L282.53016170204114,203.85249697410117Z\"></path><path></path><path d=\"M342.7456285746256,1.3529719222473418L365.946526123172,59.572373893777794L371.3865689156653,65.75554981211641L376.89411515188385,63.16824332739059L380.447157684663,52.749365436030814L368.2423686282463,23.945200384353758Z\"></path><path d=\"M337.25182718826187,102.82392338710409L382.39747237969516,119.07838869474439L393.2346160861668,114.96535883748264L375.25142478370776,88.17734262223865Z\"></path><path d=\"M116.75243274805518,163.2370190851478L119.57728599207834,182.95105103921802L124.85761001045701,189.01565671583532L151.87670803846024,173.34799895048496L151.28143398949436,170.0822271419213L120.97848942783624,160.4869906341782L117.34645970391547,161.26567287078151Z\"></path><path d=\"M-69.66706737883824,134.16449313180092L30.225528165192117,163.02871503920989L40.334519448935964,158.86135309707922L28.349117936067206,131.56293397628474L9.65594566609952,125.23393884863405Z\"></path><path d=\"M109.5377963184293,126.23132402250158L117.34645970391547,161.26567287078151L120.97848942783624,160.4869906341782L150.28660857386382,151.29747523658096L158.58210411692986,136.33162419733478L114.66109250880719,122.52396478730888Z\"></path><path d=\"M205.2937978682726,161.49505726445622L205.95501517840898,173.0772484893956L219.36958612310838,177.32303091986324L243.00783521126846,176.4260402759418L261.59829650633577,162.21762835493172L225.4061478613031,132.62290125901302Z\"></path><path d=\"M253.79925066249172,126.02185604699076L272.66966809346184,152.04132141074993L309.0876696387351,115.6865318388326L303.80472828740346,114.0047159947633Z\"></path><path d=\"M117.75346601518572,206.83915919305724L119.35383289461146,228.72955832145175L133.57155932888818,241.08449574162378L140.85928848718996,235.13485900152412L143.30303763915524,206.70938610002466L126.39329388554597,195.7564852953411Z\"></path><path></path><path d=\"M160.68331615688066,236.5616973430044L233.74410670160125,356.27218641933274L222.5202738775597,261.9711030262071L191.31148874346684,196.45872580891916L183.29728786054994,200.82253736729191Z\"></path><path d=\"M140.85928848718996,235.13485900152412L160.68331615688066,236.5616973430044L183.29728786054994,200.82253736729191L143.30303763915524,206.70938610002466Z\"></path><path d=\"M243.39207279866739,9.276837330095407L250.76798833045083,29.223635743085072L265.320071614009,35.752473930328435L270.67883095695333,32.881612822420514L289.3765653563411,-67.58089252025333L244.6708612259121,3.562119155579784Z\"></path><path d=\"M201.84975110430284,86.85803827959603L202.53023333695683,87.80217087936475L230.5792694086247,108.87510882649558L261.07273122939563,78.9936147732736L260.8729846918053,77.96156846078738L252.06590889933813,60.75142838286771L230.01402292386118,47.73392551400336L220.7908885776753,45.48905056358045L205.18772480799893,62.35506253216353Z\"></path><path d=\"M77.11999739897905,282.26168555133L87.97742252479036,425.223143716602L133.57155932888818,241.08449574162378L119.35383289461146,228.72955832145175L118.98245234508339,228.8112284737169Z\"></path><path d=\"M62.35290394339598,169.73086189325556L64.81322086668628,192.19526667456483L119.57728599207834,182.95105103921802L116.75243274805518,163.2370190851478L65.24975813492244,166.10068500720482Z\"></path><path d=\"M167.30781584010427,52.88766160283952L171.3007538909125,61.53001961963579L204.01305888774,61.555706990185264L172.51408874028948,37.96338968327432L171.72443805282967,38.57018378916265Z\"></path><path d=\"M219.7633974561775,39.560302603322654L220.7908885776753,45.48905056358045L230.01402292386118,47.73392551400336L250.76798833045083,29.223635743085072L243.39207279866739,9.276837330095407Z\"></path><path d=\"M111.80673714936981,61.75671205372076L129.75093922648136,66.24671671971096L141.58076642380698,43.14643014976281L120.5829213712224,2.5326307521768108Z\"></path><path d=\"M270.67883095695333,32.881612822420514L278.3096425702181,38.33590939321765L336.2315765382984,-7.19259836208176L326.0504830918118,-153.37829857360478L289.3765653563411,-67.58089252025333Z\"></path><path d=\"M72.87185136127704,240.61200831347222L77.11999739897905,282.26168555133L118.98245234508339,228.8112284737169L93.96368328887999,231.39007983320926Z\"></path><path d=\"M124.85761001045701,189.01565671583532L126.39329388554597,195.7564852953411L143.30303763915524,206.70938610002466L183.29728786054994,200.82253736729191L191.31148874346684,196.45872580891916L191.9349024355965,194.03036604177095L151.87670803846024,173.34799895048496Z\"></path><path></path><path d=\"M119.55190007870772,-78.56948793675348L145.0679305611121,-28.78335717195943L175.50422610209912,24.252218768474805L201.86205355903618,19.453788875635546L205.49466386048667,1.1034109966862293L129.1907857212084,-481.140752229075Z\"></path><path d=\"M43.51660738867652,34.83513433059866L72.66582407293663,55.81308463769612L73.5894160852396,55.24069029252953L82.07419961901766,6.5120091658145025L43.989749753144615,14.951298391827347Z\"></path><path d=\"M19.117743747178356,18.50050381125247L39.81707443537667,34.93419841865287L43.51660738867652,34.83513433059866L43.989749753144615,14.951298391827347L26.223390815708186,8.500580991698387Z\"></path><path d=\"M9.65594566609952,125.23393884863405L28.349117936067206,131.56293397628474L42.17842452704119,121.53678123372808L62.328000577257825,104.85151717964564L53.39658993697084,78.46444556061509L34.480053588381594,76.58014348652249Z\"></path><path d=\"M325.04958215997635,33.10267302865301L326.86880755171154,46.93825831581737L365.946526123172,59.572373893777794L342.7456285746256,1.3529719222473418L336.35425688320976,-6.10610706736405Z\"></path><path d=\"M159.9267807225666,107.85185271500836L162.88175823823235,134.71870236455646L171.24958916055445,136.86317049710001L202.53023333695683,87.80217087936475L201.84975110430284,86.85803827959603L177.55672510612519,86.25830762151351L163.10659744627483,89.6180243031141Z\"></path><path></path><path></path><path d=\"M73.5894160852396,55.24069029252953L101.45998972121089,63.332840167204004L111.80673714936981,61.75671205372076L120.5829213712224,2.5326307521768108L111.46291848351373,-46.29622698356197L82.07419961901766,6.5120091658145025Z\"></path><path d=\"M326.3032701258226,99.60172323949195L337.25182718826187,102.82392338710409L375.25142478370776,88.17734262223865L367.46817234464197,71.80310726256863L328.07580299656854,86.60452124077045Z\"></path><path d=\"M201.86205355903618,19.453788875635546L211.94811810232727,28.537865084294438L225.37791113317567,7.6912198111949595L205.49466386048667,1.1034109966862293Z\"></path><path d=\"M121.79576159411583,109.82303699023457L159.9267807225666,107.85185271500836L163.10659744627483,89.6180243031141L141.71722871986506,77.03831156519101L138.47766144512772,76.34549562861513Z\"></path><path d=\"M277.84579123523577,74.23251508586927L305.9942180029499,73.05056796685932L292.8669112565277,58.38479590145305Z\"></path><path d=\"M256.17266625045374,203.43170505567872L282.53016170204114,203.85249697410117L283.48771621743936,202.83066838003404L271.8610766697116,188.86084916488167L270.65533218684976,187.9455648214793L261.79011519573504,190.08343285974215Z\"></path><path d=\"M266.3618902825156,161.05075647974158L272.9378941790795,177.45520100190737L304.6494027461453,169.85850540882032L305.0471337744738,168.75128353163794L272.6740658952125,152.91695082186334Z\"></path><path d=\"M325.8092616792131,80.18658297539079L328.07580299656854,86.60452124077045L367.46817234464197,71.80310726256863L371.3865689156653,65.75554981211641L365.946526123172,59.572373893777794L326.86880755171154,46.93825831581737Z\"></path><path></path><path d=\"M150.28660857386382,151.29747523658096L151.28143398949436,170.0822271419213L151.87670803846024,173.34799895048496L191.9349024355965,194.03036604177095L205.95501517840898,173.0772484893956L205.2937978682726,161.49505726445622L171.24958916055445,136.86317049710001L162.88175823823235,134.71870236455646L158.58210411692986,136.33162419733478Z\"></path><path d=\"M347.00607785277805,182.27354006036433L347.7896783042425,187.03364093488162L381.59513366630375,193.982613306851L375.25172346801565,171.17630252786722L350.33530733892496,175.23687664034298Z\"></path><path d=\"M145.0679305611121,-28.78335717195943L150.59821392092178,40.45046541963621L171.72443805282967,38.57018378916265L172.51408874028948,37.96338968327432L175.50422610209912,24.252218768474805Z\"></path><path d=\"M271.8610766697116,188.86084916488167L283.48771621743936,202.83066838003404L301.609409260666,202.98746258002416L305.54798557824,199.23120800154865L304.04448862834323,177.3964562416072Z\"></path><path d=\"M367.46817234464197,71.80310726256863L375.25142478370776,88.17734262223865L393.2346160861668,114.96535883748264L506.5666498567119,112.39763424123728L376.89411515188385,63.16824332739059L371.3865689156653,65.75554981211641Z\"></path><path d=\"M111.46291848351373,-46.29622698356197L120.5829213712224,2.5326307521768108L141.58076642380698,43.14643014976281L150.59821392092178,40.45046541963621L145.0679305611121,-28.78335717195943L119.55190007870772,-78.56948793675348Z\"></path><path d=\"M332.4637492023617,174.26777772407345L347.00607785277805,182.27354006036433L350.33530733892496,175.23687664034298L355.22927203201624,149.38452809790044L335.44303673545284,139.80878661600462Z\"></path><path></path><path d=\"M313.8577110847702,115.84541832312087L318.18691658710003,128.28532126570076L335.44303673545284,139.80878661600462L355.22927203201624,149.38452809790044L364.5400732251114,145.83402734966958L382.39747237969516,119.07838869474439L337.25182718826187,102.82392338710409L326.3032701258226,99.60172323949195Z\"></path><path d=\"M72.57126843581034,113.04715153078426L83.48465743816209,125.8655488457667L109.5377963184293,126.23132402250158L114.66109250880719,122.52396478730888L116.9827156396672,115.90577586973885L101.42927927413693,85.23460134374258Z\"></path><path d=\"M230.01402292386118,47.73392551400336L252.06590889933813,60.75142838286771L265.320071614009,35.752473930328435L250.76798833045083,29.223635743085072Z\"></path><path></path><path d=\"M3.1225121819404293,60.99247437469832L34.480053588381594,76.58014348652249L53.39658993697084,78.46444556061509L72.66582407293663,55.81308463769612L43.51660738867652,34.83513433059866L39.81707443537667,34.93419841865287Z\"></path><path d=\"M62.114990710238345,203.09327817644663L112.55892859197503,208.34290786939786L117.75346601518572,206.83915919305724L126.39329388554597,195.7564852953411L124.85761001045701,189.01565671583532L119.57728599207834,182.95105103921802L64.81322086668628,192.19526667456483Z\"></path><path d=\"M53.39658993697084,78.46444556061509L62.328000577257825,104.85151717964564L72.57126843581034,113.04715153078426L101.42927927413693,85.23460134374258L101.45998972121089,63.332840167204004L73.5894160852396,55.24069029252953L72.66582407293663,55.81308463769612Z\"></path><path d=\"M304.04448862834323,177.3964562416072L305.54798557824,199.23120800154865L338.32515881122106,205.92744960949102L347.7896783042425,187.03364093488162L347.00607785277805,182.27354006036433L332.4637492023617,174.26777772407345L307.04727193842797,166.86899011634023L305.0471337744738,168.75128353163794L304.6494027461453,169.85850540882032Z\"></path><path d=\"M272.66966809346184,152.04132141074993L272.6740658952125,152.91695082186334L305.0471337744738,168.75128353163794L307.04727193842797,166.86899011634023L318.18691658710003,128.28532126570076L313.8577110847702,115.84541832312087L309.0876696387351,115.6865318388326Z\"></path><path d=\"M219.36958612310838,177.32303091986324L249.42047544410985,212.2412986263965L251.46792237563608,211.40847295963277L256.17266625045374,203.43170505567872L261.79011519573504,190.08343285974215L243.00783521126846,176.4260402759418Z\"></path><path d=\"M171.3007538909125,61.53001961963579L177.55672510612519,86.25830762151351L201.84975110430284,86.85803827959603L205.18772480799893,62.35506253216353L204.01305888774,61.555706990185264Z\"></path><path d=\"M-24.460228092508014,52.598545912199924L3.1225121819404293,60.99247437469832L39.81707443537667,34.93419841865287L19.117743747178356,18.50050381125247Z\"></path><path d=\"M364.5400732251114,145.83402734966958L379.57819621897653,160.76900941903426L444.29586872671064,169.16745444119195L670.1948231085215,126.7771239860708L506.5666498567119,112.39763424123728L393.2346160861668,114.96535883748264L382.39747237969516,119.07838869474439Z\"></path><path d=\"M172.51408874028948,37.96338968327432L204.01305888774,61.555706990185264L205.18772480799893,62.35506253216353L220.7908885776753,45.48905056358045L219.7633974561775,39.560302603322654L211.94811810232727,28.537865084294438L201.86205355903618,19.453788875635546L175.50422610209912,24.252218768474805Z\"></path><path d=\"M-5281.276366050061,275.2154332748165L-69.66706737883824,134.16449313180092L9.65594566609952,125.23393884863405L34.480053588381594,76.58014348652249L3.1225121819404293,60.99247437469832L-24.460228092508014,52.598545912199924Z\"></path><path d=\"M-20.88692372632138,242.22840203429854L41.40251475715824,230.68434893859242L63.13593873995646,219.83860440001143L60.971857371753615,205.4849117561391L43.46825659944841,204.53317130723102Z\"></path></g><g class=\"graph\"><line x1=\"218.2767355634531\" y1=\"11.27797775472683\" x2=\"221.8232534756254\" y2=\"0.5739215497429506\"></line><line x1=\"225.0477047405967\" y1=\"15.639961389811052\" x2=\"218.2767355634531\" y2=\"11.27797775472683\"></line><line x1=\"218.2767355634531\" y1=\"11.27797775472683\" x2=\"189.8002335169722\" y2=\"5.640817242155927\"></line><line x1=\"45.353829195186\" y1=\"2.182293487491993\" x2=\"50.620332344871684\" y2=\"25.948733715643602\"></line><line x1=\"189.8002335169722\" y1=\"5.640817242155927\" x2=\"152.2225813839106\" y2=\"27.20604963992357\"></line><line x1=\"152.2225813839106\" y1=\"27.20604963992357\" x2=\"146.89197522614705\" y2=\"27.631850365619716\"></line><line x1=\"50.620332344871684\" y1=\"25.948733715643602\" x2=\"36.84359291307384\" y2=\"25.620911705541705\"></line><line x1=\"286.7937502135354\" y1=\"28.34542230607795\" x2=\"257.27494457571913\" y2=\"22.851484405108813\"></line><line x1=\"241.68075095651798\" y1=\"28.617896071905847\" x2=\"225.0477047405967\" y2=\"15.639961389811052\"></line><line x1=\"36.84359291307384\" y1=\"25.620911705541705\" x2=\"6.562181523399957\" y2=\"4.1038443746406745\"></line><line x1=\"257.27494457571913\" y1=\"22.851484405108813\" x2=\"241.68075095651798\" y2=\"28.617896071905847\"></line><line x1=\"286.7937502135354\" y1=\"28.34542230607795\" x2=\"290.02145722331727\" y2=\"32.451750534198574\"></line><line x1=\"36.84359291307384\" y1=\"25.620911705541705\" x2=\"30.072128556030453\" y2=\"34.150021117506704\"></line><line x1=\"195.44204885535203\" y1=\"36.63136758266477\" x2=\"189.8002335169722\" y2=\"5.640817242155927\"></line><line x1=\"250.33462242096158\" y1=\"38.32072327975355\" x2=\"241.68075095651798\" y2=\"28.617896071905847\"></line><line x1=\"146.89197522614705\" y1=\"27.631850365619716\" x2=\"125.8513053484017\" y2=\"38.5101414512467\"></line><line x1=\"125.8513053484017\" y1=\"38.5101414512467\" x2=\"105.10732542147893\" y2=\"35.43617244124647\"></line><line x1=\"390.11832168974746\" y1=\"21.149389367749738\" x2=\"384.18570419811573\" y2=\"39.18278358700883\"></line><line x1=\"105.10732542147893\" y1=\"35.43617244124647\" x2=\"50.620332344871684\" y2=\"25.948733715643602\"></line><line x1=\"37.34626864990389\" y1=\"44.39326876977523\" x2=\"30.072128556030453\" y2=\"34.150021117506704\"></line><line x1=\"384.18570419811573\" y1=\"39.18278358700883\" x2=\"368.0998349511288\" y2=\"45.998626412354696\"></line><line x1=\"271.6035196974971\" y1=\"49.597252230857315\" x2=\"250.33462242096158\" y2=\"38.32072327975355\"></line><line x1=\"368.0998349511288\" y1=\"45.998626412354696\" x2=\"355.0475399941282\" y2=\"51.20006975255437\"></line><line x1=\"290.02145722331727\" y1=\"32.451750534198574\" x2=\"271.6035196974971\" y2=\"49.597252230857315\"></line><line x1=\"152.2225813839106\" y1=\"27.20604963992357\" x2=\"154.53608615642818\" y2=\"53.19982865866913\"></line><line x1=\"394.34641906274044\" y1=\"54.949227653275365\" x2=\"384.18570419811573\" y2=\"39.18278358700883\"></line><line x1=\"285.0975373512437\" y1=\"59.717394329492194\" x2=\"271.6035196974971\" y2=\"49.597252230857315\"></line><line x1=\"352.2090741259917\" y1=\"59.9795347624813\" x2=\"355.0475399941282\" y2=\"51.20006975255437\"></line><line x1=\"195.44204885535203\" y1=\"36.63136758266477\" x2=\"177.68421195365107\" y2=\"60.34050904538035\"></line><line x1=\"177.68421195365107\" y1=\"60.34050904538035\" x2=\"177.68233576318434\" y2=\"62.72955391870405\"></line><line x1=\"166.25734444526205\" y1=\"65.6199454605495\" x2=\"154.53608615642818\" y2=\"53.19982865866913\"></line><line x1=\"291.952018156258\" y1=\"66.21435265904213\" x2=\"285.0975373512437\" y2=\"59.717394329492194\"></line><line x1=\"300.74961093916335\" y1=\"58.33964295970645\" x2=\"291.952018156258\" y2=\"66.21435265904213\"></line><line x1=\"177.68233576318434\" y1=\"62.72955391870405\" x2=\"166.25734444526205\" y2=\"65.6199454605495\"></line><line x1=\"250.33462242096158\" y1=\"38.32072327975355\" x2=\"231.59065761050607\" y2=\"70.07333791388854\"></line><line x1=\"352.2090741259917\" y1=\"59.9795347624813\" x2=\"300.74961093916335\" y2=\"58.33964295970645\"></line><line x1=\"394.34641906274044\" y1=\"54.949227653275365\" x2=\"384.4949266489392\" y2=\"80.8985221858099\"></line><line x1=\"292.5745397820493\" y1=\"81.03990169402026\" x2=\"291.952018156258\" y2=\"66.21435265904213\"></line><line x1=\"125.8513053484017\" y1=\"38.5101414512467\" x2=\"113.2481908115472\" y2=\"88.87820069016283\"></line><line x1=\"363.7706753596693\" y1=\"90.74949063616239\" x2=\"352.2090741259917\" y2=\"59.9795347624813\"></line><line x1=\"384.4949266489392\" y1=\"80.8985221858099\" x2=\"363.7706753596693\" y2=\"90.74949063616239\"></line><line x1=\"365.0143490392449\" y1=\"93.97612228699282\" x2=\"363.7706753596693\" y2=\"90.74949063616239\"></line><line x1=\"97.38499721786553\" y1=\"96.92246977258051\" x2=\"89.60019617305673\" y2=\"88.84504248787967\"></line><line x1=\"113.2481908115472\" y1=\"88.87820069016283\" x2=\"97.38499721786553\" y2=\"96.92246977258051\"></line><line x1=\"37.34626864990389\" y1=\"44.39326876977523\" x2=\"10.55108869199568\" y2=\"98.29683564035562\"></line><line x1=\"166.25734444526205\" y1=\"65.6199454605495\" x2=\"143.6645097815334\" y2=\"104.03469012595134\"></line><line x1=\"143.6645097815334\" y1=\"104.03469012595134\" x2=\"113.2481908115472\" y2=\"88.87820069016283\"></line><line x1=\"292.5745397820493\" y1=\"81.03990169402026\" x2=\"269.39356877261133\" y2=\"108.65044634481814\"></line><line x1=\"30.940591648463567\" y1=\"108.69995478578831\" x2=\"10.55108869199568\" y2=\"98.29683564035562\"></line><line x1=\"269.39356877261133\" y1=\"108.65044634481814\" x2=\"231.59065761050607\" y2=\"70.07333791388854\"></line><line x1=\"144.1448013592499\" y1=\"113.3255444823159\" x2=\"143.6645097815334\" y2=\"104.03469012595134\"></line><line x1=\"193.59328966051112\" y1=\"120.6495583539599\" x2=\"176.52116511151954\" y2=\"109.76459694851137\"></line><line x1=\"231.59065761050607\" y1=\"70.07333791388854\" x2=\"193.59328966051112\" y2=\"120.6495583539599\"></line><line x1=\"176.52116511151954\" y1=\"109.76459694851137\" x2=\"144.1448013592499\" y2=\"113.3255444823159\"></line><line x1=\"365.0143490392449\" y1=\"93.97612228699282\" x2=\"353.00242391128097\" y2=\"127.33840658410361\"></line><line x1=\"275.5841179351374\" y1=\"134.4104315040121\" x2=\"269.39356877261133\" y2=\"108.65044634481814\"></line><line x1=\"52.69484878882249\" y1=\"134.97098352596592\" x2=\"50.884528891873785\" y2=\"136.20909268606763\"></line><line x1=\"50.884528891873785\" y1=\"136.20909268606763\" x2=\"30.940591648463567\" y2=\"108.69995478578831\"></line><line x1=\"144.1448013592499\" y1=\"113.3255444823159\" x2=\"133.57781003171914\" y2=\"146.93826023691392\"></line><line x1=\"290.3055939035803\" y1=\"149.15750479975787\" x2=\"275.5841179351374\" y2=\"134.4104315040121\"></line><line x1=\"275.5841179351374\" y1=\"134.4104315040121\" x2=\"255.00566470434637\" y2=\"149.33479672324157\"></line><line x1=\"386.0467844066899\" y1=\"149.39305974895916\" x2=\"353.00242391128097\" y2=\"127.33840658410361\"></line><line x1=\"50.884528891873785\" y1=\"136.20909268606763\" x2=\"16.518171455654063\" y2=\"151.29768098958868\"></line><line x1=\"96.56698077853977\" y1=\"155.18745277221146\" x2=\"97.38499721786553\" y2=\"96.92246977258051\"></line><line x1=\"133.57781003171914\" y1=\"146.93826023691392\" x2=\"96.56698077853977\" y2=\"155.18745277221146\"></line><line x1=\"96.56698077853977\" y1=\"155.18745277221146\" x2=\"52.69484878882249\" y2=\"134.97098352596592\"></line><line x1=\"255.00566470434637\" y1=\"149.33479672324157\" x2=\"247.66289559870387\" y2=\"158.31445667833967\"></line><line x1=\"353.00242391128097\" y1=\"127.33840658410361\" x2=\"336.5582024168295\" y2=\"161.31689813282995\"></line><line x1=\"336.5582024168295\" y1=\"161.31689813282995\" x2=\"330.65287763023116\" y2=\"160.80633009453032\"></line><line x1=\"330.65287763023116\" y1=\"160.80633009453032\" x2=\"290.3055939035803\" y2=\"149.15750479975787\"></line><line x1=\"139.0580551021178\" y1=\"164.416404102866\" x2=\"133.57781003171914\" y2=\"146.93826023691392\"></line><line x1=\"193.59328966051112\" y1=\"120.6495583539599\" x2=\"162.8380027224808\" y2=\"163.15703650865527\"></line><line x1=\"12.373732920665947\" y1=\"165.64065051444686\" x2=\"16.518171455654063\" y2=\"151.29768098958868\"></line><line x1=\"247.66289559870387\" y1=\"158.31445667833967\" x2=\"193.59328966051112\" y2=\"120.6495583539599\"></line><line x1=\"139.0580551021178\" y1=\"164.416404102866\" x2=\"138.02468066750356\" y2=\"167.67992732954616\"></line><line x1=\"162.8380027224808\" y1=\"163.15703650865527\" x2=\"139.0580551021178\" y2=\"164.416404102866\"></line><line x1=\"290.3055939035803\" y1=\"149.15750479975787\" x2=\"280.53028837667523\" y2=\"169.14297896323427\"></line><line x1=\"368.2470335910886\" y1=\"167.3157353790518\" x2=\"336.5582024168295\" y2=\"161.31689813282995\"></line><line x1=\"386.0467844066899\" y1=\"149.39305974895916\" x2=\"382.9288984692786\" y2=\"173.41921309953162\"></line><line x1=\"97.5837965371249\" y1=\"173.4747620343698\" x2=\"96.56698077853977\" y2=\"155.18745277221146\"></line><line x1=\"261.7062285401952\" y1=\"176.68892713844153\" x2=\"247.66289559870387\" y2=\"158.31445667833967\"></line><line x1=\"369.83521869071365\" y1=\"177.0611246059519\" x2=\"368.2470335910886\" y2=\"167.3157353790518\"></line><line x1=\"280.53028837667523\" y1=\"169.14297896323427\" x2=\"261.7062285401952\" y2=\"176.68892713844153\"></line><line x1=\"382.9288984692786\" y1=\"173.41921309953162\" x2=\"369.83521869071365\" y2=\"177.0611246059519\"></line><line x1=\"28.76751591367306\" y1=\"181.01156781060658\" x2=\"12.373732920665947\" y2=\"165.64065051444686\"></line><line x1=\"280.53028837667523\" y1=\"169.14297896323427\" x2=\"283.4725201765901\" y2=\"181.42497922334877\"></line><line x1=\"323.71075500674567\" y1=\"184.65406309091637\" x2=\"330.65287763023116\" y2=\"160.80633009453032\"></line><line x1=\"138.02468066750356\" y1=\"167.67992732954616\" x2=\"97.5837965371249\" y2=\"173.4747620343698\"></line><line x1=\"285.55860576372396\" y1=\"187.28114345259488\" x2=\"283.4725201765901\" y2=\"181.42497922334877\"></line><line x1=\"149.91547134426276\" y1=\"188.1857633942043\" x2=\"138.02468066750356\" y2=\"167.67992732954616\"></line><line x1=\"261.7062285401952\" y1=\"176.68892713844153\" x2=\"249.0220780617932\" y2=\"194.1327602769673\"></line><line x1=\"323.71075500674567\" y1=\"184.65406309091637\" x2=\"285.55860576372396\" y2=\"187.28114345259488\"></line><line x1=\"101.9130033101712\" y1=\"199.12160216640734\" x2=\"97.5837965371249\" y2=\"173.4747620343698\"></line><line x1=\"285.55860576372396\" y1=\"187.28114345259488\" x2=\"267.8206385194381\" y2=\"202.04389316584525\"></line><line x1=\"267.8206385194381\" y1=\"202.04389316584525\" x2=\"249.0220780617932\" y2=\"194.1327602769673\"></line><line x1=\"369.83521869071365\" y1=\"177.0611246059519\" x2=\"364.11408123022414\" y2=\"204.89339462370148\"></line><line x1=\"267.8206385194381\" y1=\"202.04389316584525\" x2=\"267.77040175922497\" y2=\"205.19062973477293\"></line><line x1=\"28.76751591367306\" y1=\"181.01156781060658\" x2=\"16.068154047970662\" y2=\"208.84733118963288\"></line><line x1=\"249.0220780617932\" y1=\"194.1327602769673\" x2=\"231.57344070647872\" y2=\"209.14917095328644\"></line><line x1=\"364.11408123022414\" y1=\"204.89339462370148\" x2=\"323.71075500674567\" y2=\"184.65406309091637\"></line><line x1=\"397.1784714732078\" y1=\"208.7140521874843\" x2=\"364.11408123022414\" y2=\"204.89339462370148\"></line><line x1=\"100.24239610554685\" y1=\"215.17454315682494\" x2=\"101.9130033101712\" y2=\"199.12160216640734\"></line><line x1=\"231.57344070647872\" y1=\"209.14917095328644\" x2=\"162.8380027224808\" y2=\"163.15703650865527\"></line><line x1=\"285.28923760632335\" y1=\"218.41369931849363\" x2=\"267.77040175922497\" y2=\"205.19062973477293\"></line><line x1=\"323.71075500674567\" y1=\"184.65406309091637\" x2=\"316.5379132784459\" y2=\"219.76412883531643\"></line><line x1=\"108.48541638578304\" y1=\"221.82529332012203\" x2=\"100.24239610554685\" y2=\"215.17454315682494\"></line><line x1=\"149.91547134426276\" y1=\"188.1857633942043\" x2=\"154.9724561517703\" y2=\"222.54206020200579\"></line><line x1=\"129.10253914663406\" y1=\"220.31801319719125\" x2=\"108.48541638578304\" y2=\"221.82529332012203\"></line><line x1=\"316.5379132784459\" y1=\"219.76412883531643\" x2=\"285.28923760632335\" y2=\"218.41369931849363\"></line><line x1=\"267.77040175922497\" y1=\"205.19062973477293\" x2=\"261.7755413422232\" y2=\"225.48630705216576\"></line><line x1=\"26.30380029679129\" y1=\"226.32213666288075\" x2=\"16.068154047970662\" y2=\"208.84733118963288\"></line><line x1=\"154.9724561517703\" y1=\"222.54206020200579\" x2=\"129.10253914663406\" y2=\"220.31801319719125\"></line><line x1=\"364.11408123022414\" y1=\"204.89339462370148\" x2=\"358.7413535889958\" y2=\"229.93689036555693\"></line><line x1=\"175.79803661725214\" y1=\"235.71945731153292\" x2=\"154.9724561517703\" y2=\"222.54206020200579\"></line><line x1=\"110.13116209220061\" y1=\"237.79152492836118\" x2=\"108.48541638578304\" y2=\"221.82529332012203\"></line><line x1=\"358.7413535889958\" y1=\"229.93689036555693\" x2=\"316.5379132784459\" y2=\"219.76412883531643\"></line><line x1=\"231.57344070647872\" y1=\"209.14917095328644\" x2=\"175.79803661725214\" y2=\"235.71945731153292\"></line><line x1=\"112.38467379249357\" y1=\"239.55647826007564\" x2=\"110.13116209220061\" y2=\"237.79152492836118\"></line><line x1=\"28.869747146352154\" y1=\"240.1674818277743\" x2=\"26.30380029679129\" y2=\"226.32213666288075\"></line><line x1=\"35.81036793038912\" y1=\"245.3720299116487\" x2=\"28.869747146352154\" y2=\"240.1674818277743\"></line><line x1=\"175.79803661725214\" y1=\"235.71945731153292\" x2=\"153.02358908693154\" y2=\"249.61898430504792\"></line><line x1=\"100.24239610554685\" y1=\"215.17454315682494\" x2=\"35.81036793038912\" y2=\"245.3720299116487\"></line></g><g class=\"site\"><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(330.65287763023116,160.80633009453032)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(144.1448013592499,113.3255444823159)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(113.2481908115472,88.87820069016283)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(271.6035196974971,49.597252230857315)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(154.53608615642818,53.19982865866913)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(269.39356877261133,108.65044634481814)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(231.57344070647872,209.14917095328644)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(384.18570419811573,39.18278358700883)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(52.69484878882249,134.97098352596592)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(292.5745397820493,81.03990169402026)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(316.5379132784459,219.76412883531643)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(283.4725201765901,181.42497922334877)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(285.0975373512437,59.717394329492194)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(255.00566470434637,149.33479672324157)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(193.59328966051112,120.6495583539599)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(225.0477047405967,15.639961389811052)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(364.11408123022414,204.89339462370148)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(28.869747146352154,240.1674818277743)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(382.9288984692786,173.41921309953162)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(397.1784714732078,208.7140521874843)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(100.24239610554685,215.17454315682494)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(6.562181523399957,4.1038443746406745)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(267.77040175922497,205.19062973477293)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(50.884528891873785,136.20909268606763)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(290.02145722331727,32.451750534198574)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(166.25734444526205,65.6199454605495)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(96.56698077853977,155.18745277221146)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(108.48541638578304,221.82529332012203)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(28.76751591367306,181.01156781060658)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(261.7755413422232,225.48630705216576)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(300.74961093916335,58.33964295970645)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(368.2470335910886,167.3157353790518)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(261.7062285401952,176.68892713844153)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(139.0580551021178,164.416404102866)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(16.068154047970662,208.84733118963288)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(285.28923760632335,218.41369931849363)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(35.81036793038912,245.3720299116487)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(368.0998349511288,45.998626412354696)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(365.0143490392449,93.97612228699282)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(138.02468066750356,167.67992732954616)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(16.518171455654063,151.29768098958868)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(133.57781003171914,146.93826023691392)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(247.66289559870387,158.31445667833967)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(275.5841179351374,134.4104315040121)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(129.10253914663406,220.31801319719125)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(221.8232534756254,0.5739215497429506)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(175.79803661725214,235.71945731153292)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(154.9724561517703,222.54206020200579)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(257.27494457571913,22.851484405108813)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(231.59065761050607,70.07333791388854)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(112.38467379249357,239.55647826007564)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(97.5837965371249,173.4747620343698)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(177.68421195365107,60.34050904538035)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(241.68075095651798,28.617896071905847)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(125.8513053484017,38.5101414512467)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(286.7937502135354,28.34542230607795)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(110.13116209220061,237.79152492836118)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(149.91547134426276,188.1857633942043)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(45.353829195186,2.182293487491993)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(189.8002335169722,5.640817242155927)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(50.620332344871684,25.948733715643602)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(36.84359291307384,25.620911705541705)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(30.940591648463567,108.69995478578831)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(355.0475399941282,51.20006975255437)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(176.52116511151954,109.76459694851137)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(12.373732920665947,165.64065051444686)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(153.02358908693154,249.61898430504792)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(105.10732542147893,35.43617244124647)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(363.7706753596693,90.74949063616239)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(218.2767355634531,11.27797775472683)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(143.6645097815334,104.03469012595134)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(291.952018156258,66.21435265904213)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(267.8206385194381,202.04389316584525)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(280.53028837667523,169.14297896323427)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(352.2090741259917,59.9795347624813)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(358.7413535889958,229.93689036555693)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(162.8380027224808,163.15703650865527)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(369.83521869071365,177.0611246059519)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(152.2225813839106,27.20604963992357)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(285.55860576372396,187.28114345259488)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(384.4949266489392,80.8985221858099)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(146.89197522614705,27.631850365619716)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(336.5582024168295,161.31689813282995)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(394.34641906274044,54.949227653275365)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(353.00242391128097,127.33840658410361)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(97.38499721786553,96.92246977258051)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(250.33462242096158,38.32072327975355)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(390.11832168974746,21.149389367749738)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(37.34626864990389,44.39326876977523)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(101.9130033101712,199.12160216640734)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(89.60019617305673,88.84504248787967)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(323.71075500674567,184.65406309091637)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(290.3055939035803,149.15750479975787)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(249.0220780617932,194.1327602769673)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(177.68233576318434,62.72955391870405)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(30.072128556030453,34.150021117506704)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(386.0467844066899,149.39305974895916)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(195.44204885535203,36.63136758266477)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(10.55108869199568,98.29683564035562)\"></circle><circle r=\"2\" fill=\"white\" stroke=\"black\" transform=\"translate(26.30380029679129,226.32213666288075)\"></circle></g></svg></body>"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"var width = 400,\n",
" height = 250,\n",
" nsites = 100;\n",
"run(show_urquart)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"gist_id": "aec6cbf62f9b71c3407db87d5eb592e7",
"github_username": "Fil",
"kernel_info": {
"name": "node_nteract"
},
"kernelspec": {
"display_name": "Javascript (Node.js)",
"language": "javascript",
"name": "javascript"
},
"language_info": {
"file_extension": ".js",
"mimetype": "application/javascript",
"name": "javascript",
"version": "7.3.0"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
<html><head>
<meta charset="utf-8">
<style>
body {
font-family: "Helvetica Neue", Helvetica, sans-serif;
margin: 1em auto 4em auto;
padding: 0 20px;
position: relative;
tab-size: 2;
width: 960px;
}
h1 {
font-size: 64px;
font-weight: 300;
letter-spacing: -2px;
margin: .3em 0 .1em 0;
}
h2 {
margin-top: 2em;
}
h1, h2 {
text-rendering: optimizeLegibility;
}
h2 a {
color: #ccc;
left: -20px;
position: absolute;
width: 740px;
}
p {
line-height: 1.5em;
width: 720px;
}
blockquote {
width: 640px;
}
li {
width: 680px;
}
a {
color: steelblue;
}
a:not(:hover) {
text-decoration: none;
}
pre, code, textarea {
font-family: "Menlo", monospace;
line-height: normal;
}
textarea {
font-size: 100%;
}
pre {
border-left: solid 2px #ccc;
padding-left: 18px;
margin: 2em 0 2em -20px;
width: 960px;
overflow-x: auto;
}
</style>
</head>
<body>
<p>We use jsdom to provide a playground for D3’s <code>select().enter().append()</code> pattern.</p>
<p><a href="https://nbviewer.jupyter.org/gist/Fil/aec6cbf62f9b71c3407db87d5eb592e7/D3%20notebook.ipynb" target="_blank">See the notebook on jupyter.org</a>.</p>
<p><a href="https://kyso.io/fil/map" target="_blank">See the notebook on kyso.io</a>.</p>
</body></html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment