대한민국의 시군구별 인구밀도를 코로플래스(Choropleth)로 시각화. 자세한 작성법은 D3를 이용한 시각적 스토리텔링 부록 C 참고.
- Author: Lucy Park
- License: Apache v2
대한민국의 시군구별 인구밀도를 코로플래스(Choropleth)로 시각화. 자세한 작성법은 D3를 이용한 시각적 스토리텔링 부록 C 참고.
| <!DOCTYPE html> | |
| <html> | |
| <head> | |
| <meta charset="utf-8"> | |
| <style> | |
| svg { background-color: #eee; } | |
| svg .municipality { fill: red; } | |
| svg .municipality:hover { stroke: #333; } | |
| svg .municipality.p0 { fill: rgb(247,251,255); } | |
| svg .municipality.p1 { fill: rgb(222,235,247); } | |
| svg .municipality.p2 { fill: rgb(198,219,239); } | |
| svg .municipality.p3 { fill: rgb(158,202,225); } | |
| svg .municipality.p4 { fill: rgb(107,174,214); } | |
| svg .municipality.p5 { fill: rgb(66,146,198); } | |
| svg .municipality.p6 { fill: rgb(33,113,181); } | |
| svg .municipality.p7 { fill: rgb(8,81,156); } | |
| svg .municipality.p8 { fill: rgb(8,48,107); } | |
| svg text { font-size: 10px; } | |
| </style> | |
| </head> | |
| <body> | |
| <div id="chart"></div> | |
| <script src="http://d3js.org/d3.v3.min.js"></script> | |
| <script src="http://d3js.org/topojson.v1.min.js"></script> | |
| <script src="http://d3js.org/queue.v1.min.js"></script> | |
| <script> | |
| var width = 960, | |
| height = 500; | |
| var svg = d3.select("#chart").append("svg") | |
| .attr("width", width) | |
| .attr("height", height); | |
| var projection = d3.geo.mercator() | |
| .center([128, 36]) | |
| .scale(4000) | |
| .translate([width/2, height/2]); | |
| var path = d3.geo.path() | |
| .projection(projection); | |
| var quantize = d3.scale.quantize() | |
| .domain([0, 1000]) | |
| .range(d3.range(9).map(function(i) { return "p" + i; })); | |
| var popByName = d3.map(); | |
| queue() | |
| .defer(d3.json, "municipalities-topo-simple.json") | |
| .defer(d3.csv, "population-edited.csv", function(d) { | |
| popByName.set(d.name, +d.population); | |
| }) | |
| .await(ready); | |
| function ready(error, data) { | |
| var features = topojson.feature(data, data.objects["municipalities-geo"]).features; | |
| features.forEach(function(d) { | |
| d.properties.population = popByName.get(d.properties.name); | |
| d.properties.density = d.properties.population / path.area(d); | |
| d.properties.quantized = quantize(d.properties.density); | |
| }); | |
| svg.selectAll("path") | |
| .data(features) | |
| .enter().append("path") | |
| .attr("class", function(d) { return "municipality " + d.properties.quantized; }) | |
| .attr("d", path) | |
| .attr("id", function(d) { return d.properties.name; }) | |
| .append("title") | |
| .text(function(d) { return d.properties.name + ": " + d.properties.population/10000 + "만 명" }); | |
| svg.selectAll("text") | |
| .data(features.filter(function(d) { return d.properties.name.endsWith("시"); })) | |
| .enter().append("text") | |
| .attr("transform", function(d) { return "translate(" + path.centroid(d) + ")"; }) | |
| .attr("dy", ".35em") | |
| .attr("class", "region-label") | |
| .text(function(d) { return d.properties.name; }); | |
| } | |
| </script> | |
| </body> | |
| </html> |
| code | name | population | |
|---|---|---|---|
| 00 | 전국 | 51141463 | |
| 11 | 서울특별시 | 10143645 | |
| 11110 | 종로구 | 160070 | |
| 11140 | 중구 | 130465 | |
| 11170 | 용산구 | 239740 | |
| 11200 | 성동구 | 299337 | |
| 11215 | 광진구 | 368927 | |
| 11230 | 동대문구 | 364273 | |
| 11260 | 중랑구 | 416798 | |
| 11290 | 성북구 | 476589 | |
| 11305 | 강북구 | 338707 | |
| 11320 | 도봉구 | 358582 | |
| 11350 | 노원구 | 590479 | |
| 11380 | 은평구 | 503660 | |
| 11410 | 서대문구 | 314110 | |
| 11440 | 마포구 | 381856 | |
| 11470 | 양천구 | 492528 | |
| 11500 | 강서구 | 569070 | |
| 11530 | 구로구 | 424964 | |
| 11545 | 금천구 | 241020 | |
| 11560 | 영등포구 | 386471 | |
| 11590 | 동작구 | 410815 | |
| 11620 | 관악구 | 518028 | |
| 11650 | 서초구 | 441763 | |
| 11680 | 강남구 | 563599 | |
| 11710 | 송파구 | 668415 | |
| 11740 | 강동구 | 483379 | |
| 26 | 부산광역시 | 3527635 | |
| 26110 | 중구 | 47345 | |
| 26140 | 서구 | 118783 | |
| 26170 | 동구 | 96011 | |
| 26200 | 영도구 | 135816 | |
| 26230 | 부산진구 | 389765 | |
| 26260 | 동래구 | 276689 | |
| 26290 | 남구 | 291770 | |
| 26320 | 북구 | 309719 | |
| 26350 | 해운대구 | 425536 | |
| 26380 | 사하구 | 349110 | |
| 26410 | 금정구 | 253526 | |
| 26440 | 강서구 | 69873 | |
| 26470 | 연제구 | 209290 | |
| 26500 | 수영구 | 175098 | |
| 26530 | 사상구 | 246797 | |
| 26710 | 기장군 | 132507 | |
| 27 | 대구광역시 | 2501588 | |
| 27110 | 중구 | 76246 | |
| 27140 | 동구 | 343802 | |
| 27170 | 서구 | 215399 | |
| 27200 | 남구 | 166062 | |
| 27230 | 북구 | 444359 | |
| 27260 | 수성구 | 461004 | |
| 27290 | 달서구 | 610358 | |
| 27710 | 달성군 | 184358 | |
| 28 | 인천광역시 | 2879782 | |
| 28110 | 중구 | 107774 | |
| 28140 | 동구 | 75093 | |
| 28170 | 남구 | 411330 | |
| 28185 | 연수구 | 300305 | |
| 28200 | 남동구 | 507021 | |
| 28237 | 부평구 | 556985 | |
| 28245 | 계양구 | 343806 | |
| 28260 | 서구 | 490035 | |
| 28710 | 강화군 | 66735 | |
| 28720 | 옹진군 | 20698 | |
| 29 | 광주광역시 | 1472910 | |
| 29110 | 동구 | 103016 | |
| 29140 | 서구 | 315276 | |
| 29155 | 남구 | 216254 | |
| 29170 | 북구 | 445489 | |
| 29200 | 광산구 | 392875 | |
| 30 | 대전광역시 | 1532811 | |
| 30110 | 동구 | 250653 | |
| 30140 | 중구 | 264913 | |
| 30170 | 서구 | 498917 | |
| 30200 | 유성구 | 313968 | |
| 30230 | 대덕구 | 204360 | |
| 31 | 울산광역시 | 1156480 | |
| 31110 | 중구 | 234607 | |
| 31140 | 남구 | 349064 | |
| 31170 | 동구 | 178468 | |
| 31200 | 북구 | 185695 | |
| 31710 | 울주군 | 208646 | |
| 36 | 세종특별자치시 | 122153 | |
| 36110 | 세종시 | 122153 | |
| 41 | 경기도 | 12234630 | |
| 41110 | 수원시 | 1148157 | |
| 41111 | 수원시장안구 | 300908 | |
| 41113 | 수원시권선구 | 331773 | |
| 41115 | 수원시팔달구 | 204805 | |
| 41117 | 수원시영통구 | 310671 | |
| 41130 | 성남시 | 979534 | |
| 41131 | 성남시수정구 | 228167 | |
| 41133 | 성남시중원구 | 256349 | |
| 41135 | 성남시분당구 | 495018 | |
| 41150 | 의정부시 | 430976 | |
| 41170 | 안양시 | 607877 | |
| 41171 | 안양시만안구 | 250246 | |
| 41173 | 안양시동안구 | 357631 | |
| 41190 | 부천시 | 863720 | |
| 41195 | 부천시원미구 | 444207 | |
| 41197 | 부천시소사구 | 229959 | |
| 41199 | 부천시오정구 | 189554 | |
| 41210 | 광명시 | 353100 | |
| 41220 | 평택시 | 442034 | |
| 41250 | 동두천시 | 97557 | |
| 41270 | 안산시 | 713666 | |
| 41271 | 안산시상록구 | 382571 | |
| 41273 | 안산시단원구 | 331095 | |
| 41280 | 고양시 | 990571 | |
| 41281 | 고양시덕양구 | 410491 | |
| 41285 | 고양시일산동구 | 283976 | |
| 41287 | 고양시일산서구 | 296104 | |
| 41290 | 과천시 | 70578 | |
| 41310 | 구리시 | 189680 | |
| 41360 | 남양주시 | 618305 | |
| 41370 | 오산시 | 205460 | |
| 41390 | 시흥시 | 396765 | |
| 41410 | 군포시 | 286344 | |
| 41430 | 의왕시 | 159772 | |
| 41450 | 하남시 | 145096 | |
| 41460 | 용인시 | 941477 | |
| 41461 | 용인시처인구 | 212904 | |
| 41463 | 용인시기흥구 | 393172 | |
| 41465 | 용인시수지구 | 335401 | |
| 41480 | 파주시 | 401718 | |
| 41500 | 이천시 | 205479 | |
| 41550 | 안성시 | 182173 | |
| 41570 | 김포시 | 312305 | |
| 41590 | 화성시 | 530251 | |
| 41610 | 광주시 | 286699 | |
| 41630 | 양주시 | 199143 | |
| 41650 | 포천시 | 156603 | |
| 41660 | 여주군 | 109343 | |
| 41800 | 연천군 | 45610 | |
| 41820 | 가평군 | 61017 | |
| 41830 | 양평군 | 103620 | |
| 42 | 강원도 | 1542263 | |
| 42110 | 춘천시 | 274455 | |
| 42130 | 원주시 | 324837 | |
| 42150 | 강릉시 | 216806 | |
| 42170 | 동해시 | 95143 | |
| 42190 | 태백시 | 48794 | |
| 42210 | 속초시 | 83109 | |
| 42230 | 삼척시 | 73023 | |
| 42720 | 홍천군 | 70638 | |
| 42730 | 횡성군 | 44937 | |
| 42750 | 영월군 | 40150 | |
| 42760 | 평창군 | 43666 | |
| 42770 | 정선군 | 39985 | |
| 42780 | 철원군 | 47473 | |
| 42790 | 화천군 | 25079 | |
| 42800 | 양구군 | 23594 | |
| 42810 | 인제군 | 32517 | |
| 42820 | 고성군 | 30398 | |
| 42830 | 양양군 | 27659 | |
| 43 | 충청북도 | 1572732 | |
| 43110 | 청주시 | 672904 | |
| 43111 | 청주시상당구 | 246128 | |
| 43113 | 청주시흥덕구 | 426776 | |
| 43130 | 충주시 | 208115 | |
| 43150 | 제천시 | 137204 | |
| 43710 | 청원군 | 155002 | |
| 43720 | 보은군 | 34318 | |
| 43730 | 옥천군 | 52763 | |
| 43740 | 영동군 | 50539 | |
| 43745 | 증평군 | 34546 | |
| 43750 | 진천군 | 64606 | |
| 43760 | 괴산군 | 38059 | |
| 43770 | 음성군 | 93505 | |
| 43800 | 단양군 | 31171 | |
| 44 | 충청남도 | 2047631 | |
| 44130 | 천안시 | 591089 | |
| 44131 | 천안시동남구 | 260575 | |
| 44133 | 천안시서북구 | 330514 | |
| 44150 | 공주시 | 116369 | |
| 44180 | 보령시 | 104938 | |
| 44200 | 아산시 | 287073 | |
| 44210 | 서산시 | 165837 | |
| 44230 | 논산시 | 125844 | |
| 44250 | 계룡시 | 40957 | |
| 44270 | 당진시 | 159615 | |
| 44710 | 금산군 | 55441 | |
| 44760 | 부여군 | 72547 | |
| 44770 | 서천군 | 58441 | |
| 44790 | 청양군 | 32155 | |
| 44800 | 홍성군 | 89704 | |
| 44810 | 예산군 | 85205 | |
| 44825 | 태안군 | 62416 | |
| 45 | 전라북도 | 1872965 | |
| 45110 | 전주시 | 650082 | |
| 45111 | 전주시완산구 | 363694 | |
| 45113 | 전주시덕진구 | 286388 | |
| 45130 | 군산시 | 278319 | |
| 45140 | 익산시 | 306539 | |
| 45180 | 정읍시 | 118328 | |
| 45190 | 남원시 | 86460 | |
| 45210 | 김제시 | 91218 | |
| 45710 | 완주군 | 86978 | |
| 45720 | 진안군 | 26703 | |
| 45730 | 무주군 | 25398 | |
| 45740 | 장수군 | 23243 | |
| 45750 | 임실군 | 29739 | |
| 45770 | 순창군 | 30272 | |
| 45790 | 고창군 | 60522 | |
| 45800 | 부안군 | 59164 | |
| 46 | 전라남도 | 1907172 | |
| 46110 | 목포시 | 240936 | |
| 46130 | 여수시 | 291366 | |
| 46150 | 순천시 | 275668 | |
| 46170 | 나주시 | 87754 | |
| 46230 | 광양시 | 151621 | |
| 46710 | 담양군 | 47365 | |
| 46720 | 곡성군 | 31009 | |
| 46730 | 구례군 | 27115 | |
| 46770 | 고흥군 | 70631 | |
| 46780 | 보성군 | 46385 | |
| 46790 | 화순군 | 67829 | |
| 46800 | 장흥군 | 43004 | |
| 46810 | 강진군 | 40079 | |
| 46820 | 해남군 | 77684 | |
| 46830 | 영암군 | 59061 | |
| 46840 | 무안군 | 79367 | |
| 46860 | 함평군 | 35610 | |
| 46870 | 영광군 | 57617 | |
| 46880 | 장성군 | 46292 | |
| 46890 | 완도군 | 53619 | |
| 46900 | 진도군 | 32998 | |
| 46910 | 신안군 | 44162 | |
| 47 | 경상북도 | 2699440 | |
| 47110 | 포항시 | 519467 | |
| 47111 | 남구 | 249709 | |
| 47113 | 북구 | 269758 | |
| 47130 | 경주시 | 263283 | |
| 47150 | 김천시 | 135259 | |
| 47170 | 안동시 | 168461 | |
| 47190 | 구미시 | 419428 | |
| 47210 | 영주시 | 112625 | |
| 47230 | 영천시 | 100778 | |
| 47250 | 상주시 | 103346 | |
| 47280 | 문경시 | 75664 | |
| 47290 | 경산시 | 248805 | |
| 47720 | 군위군 | 24172 | |
| 47730 | 의성군 | 56064 | |
| 47750 | 청송군 | 26470 | |
| 47760 | 영양군 | 18297 | |
| 47770 | 영덕군 | 40142 | |
| 47820 | 청도군 | 43788 | |
| 47830 | 고령군 | 35198 | |
| 47840 | 성주군 | 45067 | |
| 47850 | 칠곡군 | 121182 | |
| 47900 | 예천군 | 45573 | |
| 47920 | 봉화군 | 33894 | |
| 47930 | 울진군 | 51953 | |
| 47940 | 울릉군 | 10524 | |
| 48 | 경상남도 | 3333820 | |
| 48120 | 창원시 | 1083731 | |
| 48121 | 의창구 | 255816 | |
| 48123 | 성산구 | 242870 | |
| 48125 | 마산합포구 | 183365 | |
| 48127 | 마산회원구 | 219558 | |
| 48129 | 진해구 | 182122 | |
| 48170 | 진주시 | 337071 | |
| 48220 | 통영시 | 139719 | |
| 48240 | 사천시 | 116851 | |
| 48250 | 김해시 | 522049 | |
| 48270 | 밀양시 | 108342 | |
| 48310 | 거제시 | 242077 | |
| 48330 | 양산시 | 279565 | |
| 48720 | 의령군 | 29417 | |
| 48730 | 함안군 | 67667 | |
| 48740 | 창녕군 | 63447 | |
| 48820 | 고성군 | 56369 | |
| 48840 | 남해군 | 47244 | |
| 48850 | 하동군 | 50177 | |
| 48860 | 산청군 | 35935 | |
| 48870 | 함양군 | 40692 | |
| 48880 | 거창군 | 63177 | |
| 48890 | 합천군 | 50290 | |
| 50 | 제주특별자치도 | 593806 | |
| 50110 | 제주시 | 438165 | |
| 50130 | 서귀포시 | 155641 |
D3 라이브러리 추가하는 부분에서
기존:
변경 후:
이렇게 고치시면 bl.ocks.org에서 아마 해결 될거에요!