Built with blockbuilder.org
Created
April 13, 2018 19:07
-
-
Save ByronHan333/a655ddb6e8ab4bd8de2f84a75ecd6055 to your computer and use it in GitHub Desktop.
Filter Brush and Zoom of line chart
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
license: mit |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
date | New York | San Francisco | Austin | |
---|---|---|---|---|
20111001 | 63.4 | 62.7 | 72.2 | |
20111002 | 58.0 | 59.9 | 67.7 | |
20111003 | 53.3 | 59.1 | 69.4 | |
20111004 | 55.7 | 58.8 | 68.0 | |
20111005 | 64.2 | 58.7 | 72.4 | |
20111006 | 58.8 | 57.0 | 77.0 | |
20111007 | 57.9 | 56.7 | 82.3 | |
20111008 | 61.8 | 56.8 | 78.9 | |
20111009 | 69.3 | 56.7 | 68.8 | |
20111010 | 71.2 | 60.1 | 68.7 | |
20111011 | 68.7 | 61.1 | 70.3 | |
20111012 | 61.8 | 61.5 | 75.3 | |
20111013 | 63.0 | 64.3 | 76.6 | |
20111014 | 66.9 | 67.1 | 66.6 | |
20111015 | 61.7 | 64.6 | 68.0 | |
20111016 | 61.8 | 61.6 | 70.6 | |
20111017 | 62.8 | 61.1 | 71.1 | |
20111018 | 60.8 | 59.2 | 70.0 | |
20111019 | 62.1 | 58.9 | 61.6 | |
20111020 | 65.1 | 57.2 | 57.4 | |
20111021 | 55.6 | 56.4 | 64.3 | |
20111022 | 54.4 | 60.7 | 72.4 | |
20111023 | 54.4 | 65.1 | 72.4 | |
20111024 | 54.8 | 60.9 | 72.5 | |
20111025 | 57.9 | 56.1 | 72.7 | |
20111026 | 54.6 | 54.6 | 73.4 | |
20111027 | 54.4 | 56.1 | 70.7 | |
20111028 | 42.5 | 58.1 | 56.8 | |
20111029 | 40.9 | 57.5 | 51.0 | |
20111030 | 38.6 | 57.7 | 54.9 | |
20111031 | 44.2 | 55.1 | 58.8 | |
20111101 | 49.6 | 57.9 | 62.6 | |
20111102 | 47.2 | 64.6 | 71.0 | |
20111103 | 50.1 | 56.2 | 58.4 | |
20111104 | 50.1 | 50.5 | 45.1 | |
20111105 | 43.5 | 51.3 | 52.2 | |
20111106 | 43.8 | 52.6 | 73.0 | |
20111107 | 48.9 | 51.4 | 75.4 | |
20111108 | 55.5 | 50.6 | 72.1 | |
20111109 | 53.7 | 54.6 | 56.6 | |
20111110 | 57.7 | 55.6 | 55.4 | |
20111111 | 48.5 | 53.9 | 46.7 | |
20111112 | 46.8 | 54.0 | 62.0 | |
20111113 | 51.1 | 53.8 | 71.6 | |
20111114 | 56.8 | 53.5 | 75.5 | |
20111115 | 59.7 | 53.4 | 72.1 | |
20111116 | 56.5 | 52.2 | 65.7 | |
20111117 | 49.6 | 52.7 | 56.8 | |
20111118 | 41.5 | 53.1 | 49.9 | |
20111119 | 44.3 | 49.0 | 71.7 | |
20111120 | 54.0 | 50.4 | 77.7 | |
20111121 | 54.1 | 51.1 | 76.4 | |
20111122 | 49.4 | 52.3 | 68.8 | |
20111123 | 50.0 | 54.6 | 57.0 | |
20111124 | 44.0 | 55.1 | 55.5 | |
20111125 | 50.3 | 51.5 | 61.6 | |
20111126 | 52.1 | 53.6 | 64.1 | |
20111127 | 49.6 | 52.3 | 51.1 | |
20111128 | 57.2 | 51.0 | 43.0 | |
20111129 | 59.1 | 49.5 | 46.4 | |
20111130 | 50.6 | 49.8 | 48.0 | |
20111201 | 44.3 | 60.4 | 48.1 | |
20111202 | 43.9 | 62.2 | 60.6 | |
20111203 | 42.1 | 58.3 | 62.6 | |
20111204 | 43.9 | 52.7 | 57.1 | |
20111205 | 50.2 | 51.5 | 44.2 | |
20111206 | 54.2 | 49.9 | 37.4 | |
20111207 | 54.6 | 48.6 | 35.0 | |
20111208 | 43.4 | 46.4 | 37.0 | |
20111209 | 42.2 | 49.8 | 45.4 | |
20111210 | 45.0 | 52.1 | 50.7 | |
20111211 | 33.8 | 48.8 | 48.6 | |
20111212 | 36.8 | 47.4 | 52.2 | |
20111213 | 38.6 | 47.2 | 60.8 | |
20111214 | 41.9 | 46.1 | 70.0 | |
20111215 | 49.6 | 48.8 | 64.2 | |
20111216 | 50.2 | 47.9 | 50.9 | |
20111217 | 40.6 | 49.8 | 51.6 | |
20111218 | 29.1 | 49.1 | 55.2 | |
20111219 | 33.7 | 48.3 | 62.1 | |
20111220 | 45.8 | 49.3 | 56.3 | |
20111221 | 47.4 | 48.4 | 47.2 | |
20111222 | 54.4 | 53.3 | 52.3 | |
20111223 | 47.8 | 47.5 | 45.2 | |
20111224 | 34.9 | 47.9 | 43.6 | |
20111225 | 35.9 | 48.9 | 42.9 | |
20111226 | 43.6 | 45.9 | 48.2 | |
20111227 | 42.9 | 47.2 | 45.4 | |
20111228 | 46.2 | 48.9 | 44.2 | |
20111229 | 30.8 | 50.9 | 50.4 | |
20111230 | 40.8 | 52.9 | 52.4 | |
20111231 | 49.8 | 50.1 | 53.5 | |
20120101 | 46.3 | 53.9 | 55.9 | |
20120102 | 43.2 | 53.1 | 48.2 | |
20120103 | 30.3 | 49.7 | 41.0 | |
20120104 | 19.2 | 52.7 | 48.9 | |
20120105 | 32.1 | 52.6 | 54.8 | |
20120106 | 41.2 | 49.0 | 61.2 | |
20120107 | 47.0 | 51.0 | 59.7 | |
20120108 | 46.0 | 56.8 | 52.5 | |
20120109 | 34.7 | 52.3 | 54.0 | |
20120110 | 39.4 | 51.6 | 47.7 | |
20120111 | 40.4 | 49.8 | 49.2 | |
20120112 | 45.4 | 51.9 | 48.4 | |
20120113 | 40.7 | 53.7 | 40.2 | |
20120114 | 30.4 | 52.9 | 43.9 | |
20120115 | 23.9 | 49.7 | 45.2 | |
20120116 | 22.6 | 45.3 | 65.0 | |
20120117 | 39.8 | 43.6 | 68.2 | |
20120118 | 43.2 | 45.0 | 47.5 | |
20120119 | 26.3 | 47.3 | 57.1 | |
20120120 | 32.8 | 51.4 | 61.9 | |
20120121 | 27.4 | 53.7 | 54.6 | |
20120122 | 25.0 | 48.3 | 56.7 | |
20120123 | 39.4 | 52.9 | 54.4 | |
20120124 | 48.7 | 49.1 | 52.7 | |
20120125 | 43.0 | 52.1 | 61.8 | |
20120126 | 37.1 | 53.6 | 55.0 | |
20120127 | 48.2 | 50.4 | 50.7 | |
20120128 | 43.7 | 50.3 | 52.9 | |
20120129 | 40.1 | 53.8 | 44.4 | |
20120130 | 38.0 | 51.9 | 49.1 | |
20120131 | 43.5 | 50.0 | 62.8 | |
20120201 | 50.4 | 50.0 | 64.6 | |
20120202 | 45.8 | 51.3 | 61.1 | |
20120203 | 37.5 | 51.5 | 70.0 | |
20120204 | 40.8 | 52.0 | 61.3 | |
20120205 | 36.5 | 53.8 | 48.2 | |
20120206 | 39.1 | 54.6 | 44.2 | |
20120207 | 43.2 | 54.3 | 51.3 | |
20120208 | 36.5 | 51.9 | 49.2 | |
20120209 | 36.5 | 53.8 | 45.7 | |
20120210 | 38.3 | 53.9 | 54.1 | |
20120211 | 36.9 | 52.3 | 44.9 | |
20120212 | 29.7 | 50.1 | 36.5 | |
20120213 | 33.1 | 49.5 | 44.8 | |
20120214 | 39.6 | 48.6 | 52.3 | |
20120215 | 42.3 | 49.9 | 68.0 | |
20120216 | 39.7 | 52.4 | 54.6 | |
20120217 | 46.0 | 49.9 | 53.8 | |
20120218 | 41.2 | 51.6 | 56.2 | |
20120219 | 39.8 | 47.8 | 50.8 | |
20120220 | 38.1 | 48.7 | 53.0 | |
20120221 | 37.1 | 49.7 | 61.0 | |
20120222 | 45.5 | 53.4 | 68.8 | |
20120223 | 50.6 | 54.1 | 69.4 | |
20120224 | 42.7 | 55.9 | 59.3 | |
20120225 | 42.6 | 51.7 | 47.2 | |
20120226 | 36.9 | 47.7 | 47.7 | |
20120227 | 40.9 | 45.4 | 61.9 | |
20120228 | 45.9 | 47.0 | 67.2 | |
20120229 | 40.7 | 49.8 | 70.1 | |
20120301 | 41.3 | 48.9 | 62.1 | |
20120302 | 36.8 | 48.1 | 72.7 | |
20120303 | 47.6 | 50.7 | 59.0 | |
20120304 | 44.2 | 55.0 | 51.8 | |
20120305 | 38.5 | 48.8 | 55.0 | |
20120306 | 32.9 | 48.4 | 61.8 | |
20120307 | 43.3 | 49.9 | 67.1 | |
20120308 | 51.2 | 49.2 | 72.0 | |
20120309 | 47.8 | 51.7 | 46.4 | |
20120310 | 37.2 | 49.3 | 46.7 | |
20120311 | 42.9 | 50.0 | 56.9 | |
20120312 | 48.8 | 48.6 | 61.9 | |
20120313 | 52.6 | 53.9 | 68.8 | |
20120314 | 60.5 | 55.2 | 71.9 | |
20120315 | 47.2 | 55.9 | 72.0 | |
20120316 | 44.7 | 54.6 | 72.5 | |
20120317 | 48.2 | 48.2 | 71.7 | |
20120318 | 48.2 | 47.1 | 71.1 | |
20120319 | 53.1 | 45.8 | 73.0 | |
20120320 | 57.8 | 49.7 | 63.8 | |
20120321 | 57.5 | 51.4 | 60.0 | |
20120322 | 57.3 | 51.4 | 62.3 | |
20120323 | 61.7 | 48.4 | 61.1 | |
20120324 | 55.8 | 49.0 | 62.0 | |
20120325 | 48.4 | 46.4 | 64.6 | |
20120326 | 49.8 | 49.7 | 66.0 | |
20120327 | 39.6 | 54.1 | 65.8 | |
20120328 | 49.7 | 54.6 | 69.2 | |
20120329 | 56.8 | 52.3 | 69.5 | |
20120330 | 46.5 | 54.5 | 73.5 | |
20120331 | 42.2 | 56.2 | 73.9 | |
20120401 | 45.3 | 51.1 | 75.3 | |
20120402 | 48.1 | 50.5 | 75.4 | |
20120403 | 51.2 | 52.2 | 77.3 | |
20120404 | 61.0 | 50.6 | 67.0 | |
20120405 | 50.7 | 47.9 | 71.1 | |
20120406 | 48.0 | 47.4 | 70.4 | |
20120407 | 51.1 | 49.4 | 73.6 | |
20120408 | 55.7 | 50.0 | 71.1 | |
20120409 | 58.3 | 51.3 | 70.0 | |
20120410 | 55.0 | 53.8 | 69.0 | |
20120411 | 49.0 | 52.9 | 69.2 | |
20120412 | 51.7 | 53.9 | 74.5 | |
20120413 | 53.1 | 50.2 | 73.4 | |
20120414 | 55.2 | 50.9 | 76.0 | |
20120415 | 62.3 | 51.5 | 74.5 | |
20120416 | 62.9 | 51.9 | 63.6 | |
20120417 | 69.3 | 53.2 | 67.3 | |
20120418 | 59.0 | 53.0 | 65.1 | |
20120419 | 54.1 | 55.1 | 67.9 | |
20120420 | 56.5 | 55.8 | 68.9 | |
20120421 | 58.2 | 58.0 | 65.1 | |
20120422 | 52.4 | 52.8 | 65.4 | |
20120423 | 51.6 | 55.1 | 70.1 | |
20120424 | 49.3 | 57.9 | 67.0 | |
20120425 | 52.5 | 57.5 | 75.4 | |
20120426 | 50.5 | 55.3 | 77.5 | |
20120427 | 51.9 | 53.5 | 77.0 | |
20120428 | 47.4 | 54.7 | 77.7 | |
20120429 | 54.1 | 54.0 | 77.7 | |
20120430 | 51.9 | 53.4 | 77.7 | |
20120501 | 57.4 | 52.7 | 77.0 | |
20120502 | 53.7 | 50.7 | 77.9 | |
20120503 | 53.1 | 52.6 | 79.1 | |
20120504 | 57.2 | 53.4 | 80.1 | |
20120505 | 57.0 | 53.1 | 82.1 | |
20120506 | 56.6 | 56.5 | 79.0 | |
20120507 | 54.6 | 55.3 | 79.8 | |
20120508 | 57.9 | 52.0 | 70.0 | |
20120509 | 59.2 | 52.4 | 69.8 | |
20120510 | 61.1 | 53.4 | 71.3 | |
20120511 | 59.7 | 53.1 | 69.4 | |
20120512 | 64.1 | 49.9 | 72.0 | |
20120513 | 65.3 | 52.0 | 72.4 | |
20120514 | 64.2 | 56.0 | 72.5 | |
20120515 | 62.0 | 53.0 | 67.6 | |
20120516 | 63.8 | 51.0 | 69.0 | |
20120517 | 64.5 | 51.4 | 72.7 | |
20120518 | 61.0 | 52.2 | 73.7 | |
20120519 | 62.6 | 52.4 | 77.5 | |
20120520 | 66.2 | 54.5 | 75.8 | |
20120521 | 62.7 | 52.8 | 76.9 | |
20120522 | 63.7 | 53.9 | 78.8 | |
20120523 | 66.4 | 56.5 | 77.7 | |
20120524 | 64.5 | 54.7 | 80.6 | |
20120525 | 65.4 | 52.5 | 81.4 | |
20120526 | 69.4 | 52.1 | 82.3 | |
20120527 | 71.9 | 52.2 | 80.3 | |
20120528 | 74.4 | 52.9 | 80.3 | |
20120529 | 75.9 | 52.1 | 82.2 | |
20120530 | 72.9 | 52.1 | 81.9 | |
20120531 | 72.5 | 53.3 | 82.4 | |
20120601 | 67.2 | 54.8 | 77.9 | |
20120602 | 68.3 | 54.0 | 81.1 | |
20120603 | 67.7 | 52.3 | 82.2 | |
20120604 | 61.9 | 55.3 | 81.2 | |
20120605 | 58.3 | 53.5 | 83.0 | |
20120606 | 61.7 | 54.1 | 83.2 | |
20120607 | 66.7 | 53.9 | 82.1 | |
20120608 | 68.7 | 54.4 | 77.5 | |
20120609 | 72.2 | 55.0 | 77.9 | |
20120610 | 72.6 | 60.0 | 82.9 | |
20120611 | 69.2 | 57.2 | 86.8 | |
20120612 | 66.9 | 55.1 | 85.3 | |
20120613 | 66.7 | 53.3 | 76.9 | |
20120614 | 67.7 | 53.4 | 84.5 | |
20120615 | 68.5 | 54.6 | 84.4 | |
20120616 | 67.5 | 57.0 | 83.8 | |
20120617 | 64.2 | 55.6 | 82.5 | |
20120618 | 61.7 | 52.5 | 82.9 | |
20120619 | 66.4 | 53.9 | 82.5 | |
20120620 | 77.9 | 55.3 | 81.3 | |
20120621 | 88.3 | 53.3 | 80.8 | |
20120622 | 82.2 | 54.1 | 81.7 | |
20120623 | 77.0 | 55.2 | 83.9 | |
20120624 | 75.4 | 55.8 | 85.5 | |
20120625 | 70.9 | 56.8 | 87.2 | |
20120626 | 65.9 | 57.5 | 88.0 | |
20120627 | 73.5 | 57.7 | 89.6 | |
20120628 | 77.4 | 56.6 | 86.7 | |
20120629 | 79.6 | 56.4 | 85.3 | |
20120630 | 84.2 | 58.4 | 81.7 | |
20120701 | 81.8 | 58.8 | 78.5 | |
20120702 | 82.5 | 56.4 | 83.1 | |
20120703 | 80.2 | 56.5 | 83.1 | |
20120704 | 77.8 | 55.8 | 84.5 | |
20120705 | 86.1 | 54.8 | 84.6 | |
20120706 | 79.9 | 54.9 | 84.2 | |
20120707 | 83.5 | 54.7 | 86.7 | |
20120708 | 81.5 | 52.8 | 84.3 | |
20120709 | 77.8 | 53.7 | 83.7 | |
20120710 | 76.1 | 53.1 | 77.1 | |
20120711 | 76.3 | 52.7 | 77.4 | |
20120712 | 75.8 | 52.0 | 80.6 | |
20120713 | 77.2 | 53.4 | 81.4 | |
20120714 | 79.3 | 54.0 | 80.2 | |
20120715 | 78.9 | 54.0 | 81.8 | |
20120716 | 79.6 | 54.5 | 77.3 | |
20120717 | 83.3 | 56.7 | 80.8 | |
20120718 | 84.3 | 57.5 | 81.6 | |
20120719 | 75.1 | 57.1 | 80.9 | |
20120720 | 68.4 | 58.1 | 83.9 | |
20120721 | 68.4 | 57.6 | 85.6 | |
20120722 | 72.2 | 56.0 | 83.6 | |
20120723 | 75.6 | 56.6 | 84.0 | |
20120724 | 82.6 | 57.8 | 83.0 | |
20120725 | 78.4 | 57.5 | 84.8 | |
20120726 | 77.0 | 56.4 | 84.4 | |
20120727 | 79.4 | 55.3 | 84.3 | |
20120728 | 77.4 | 55.0 | 83.9 | |
20120729 | 72.5 | 55.6 | 85.0 | |
20120730 | 72.9 | 55.6 | 84.9 | |
20120731 | 73.6 | 55.9 | 86.3 | |
20120801 | 75.0 | 55.4 | 86.5 | |
20120802 | 77.7 | 54.4 | 85.8 | |
20120803 | 79.7 | 53.7 | 85.3 | |
20120804 | 79.6 | 54.1 | 86.0 | |
20120805 | 81.5 | 57.8 | 84.2 | |
20120806 | 80.0 | 58.2 | 81.9 | |
20120807 | 75.7 | 58.0 | 86.5 | |
20120808 | 77.8 | 57.0 | 86.1 | |
20120809 | 78.6 | 55.0 | 86.8 | |
20120810 | 77.8 | 54.8 | 88.0 | |
20120811 | 78.5 | 53.0 | 85.1 | |
20120812 | 78.8 | 52.5 | 87.4 | |
20120813 | 78.6 | 53.3 | 88.0 | |
20120814 | 76.8 | 53.9 | 88.0 | |
20120815 | 76.7 | 56.2 | 87.2 | |
20120816 | 75.9 | 57.1 | 86.1 | |
20120817 | 77.6 | 55.3 | 86.8 | |
20120818 | 72.6 | 56.2 | 84.9 | |
20120819 | 70.4 | 54.3 | 76.8 | |
20120820 | 71.8 | 53.1 | 80.6 | |
20120821 | 73.6 | 53.4 | 80.0 | |
20120822 | 74.7 | 54.5 | 78.2 | |
20120823 | 74.6 | 55.7 | 79.1 | |
20120824 | 76.0 | 54.8 | 81.9 | |
20120825 | 76.2 | 53.8 | 84.7 | |
20120826 | 73.4 | 56.5 | 83.5 | |
20120827 | 74.6 | 58.3 | 82.1 | |
20120828 | 79.4 | 58.7 | 84.0 | |
20120829 | 74.7 | 57.5 | 85.7 | |
20120830 | 73.5 | 55.9 | 87.2 | |
20120831 | 77.9 | 55.4 | 82.9 | |
20120901 | 80.7 | 55.7 | 84.8 | |
20120902 | 75.1 | 53.1 | 83.9 | |
20120903 | 73.5 | 53.5 | 85.5 | |
20120904 | 73.5 | 52.5 | 86.4 | |
20120905 | 77.7 | 54.5 | 85.8 | |
20120906 | 74.2 | 56.3 | 85.4 | |
20120907 | 76.0 | 56.4 | 85.3 | |
20120908 | 77.1 | 56.5 | 81.9 | |
20120909 | 69.7 | 56.4 | 74.8 | |
20120910 | 67.8 | 55.4 | 71.6 | |
20120911 | 64.0 | 56.2 | 75.9 | |
20120912 | 68.1 | 55.7 | 82.1 | |
20120913 | 69.3 | 54.3 | 80.5 | |
20120914 | 70.0 | 55.2 | 70.0 | |
20120915 | 69.3 | 54.3 | 71.2 | |
20120916 | 66.3 | 52.9 | 70.3 | |
20120917 | 67.0 | 54.8 | 72.1 | |
20120918 | 72.8 | 54.8 | 73.7 | |
20120919 | 67.2 | 56.8 | 72.7 | |
20120920 | 62.1 | 55.4 | 71.7 | |
20120921 | 64.0 | 55.8 | 72.9 | |
20120922 | 65.5 | 55.9 | 73.1 | |
20120923 | 65.7 | 52.8 | 75.6 | |
20120924 | 60.4 | 54.5 | 78.3 | |
20120925 | 63.2 | 53.3 | 78.3 | |
20120926 | 68.5 | 53.6 | 79.6 | |
20120927 | 69.2 | 52.1 | 76.4 | |
20120928 | 68.7 | 52.6 | 77.2 | |
20120929 | 62.5 | 53.9 | 75.2 | |
20120930 | 62.3 | 55.1 | 71.9 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<meta charset="utf-8"> | |
<style> | |
.axis--x path { | |
display: none; | |
} | |
.line { | |
fill: none; | |
stroke: steelblue; | |
stroke-width: 1.5px; | |
} | |
</style> | |
<svg width="960" height="500"></svg> | |
<script src="https://d3js.org/d3.v4.min.js"></script> | |
<script> | |
var svg = d3.select("svg"), | |
margin = {top: 20, right: 80, bottom: 30, left: 50}, | |
width = svg.attr("width") - margin.left - margin.right, | |
height = svg.attr("height") - margin.top - margin.bottom, | |
g = svg.append("g").attr("transform", "translate(" + margin.left + "," + margin.top + ")"); | |
var parseTime = d3.timeParse("%Y%m%d"); | |
var x = d3.scaleTime().range([0, width]), | |
y = d3.scaleLinear().range([height, 0]), | |
z = d3.scaleOrdinal(d3.schemeCategory10); | |
var line = d3.line() | |
.curve(d3.curveBasis) | |
.x(function(d) { return x(d.date); }) | |
.y(function(d) { return y(d.temperature); }); | |
// var area = d3.area() | |
// .curve(d3.curveStepAfter) | |
// .y0(y(0)) | |
// .y1(function(d) { return y(d.value); }); | |
// var areaPath = g.append("path") | |
// .attr("clip-path", "url(#clip)") | |
// .attr("fill", "steelblue"); | |
var yGroup = g.append("g"); | |
var xGroup = g.append("g") | |
.attr("transform", "translate(0," + height + ")"); | |
var zoom = d3.zoom() | |
.scaleExtent([1 / 4, 8]) | |
.translateExtent([[-width, -Infinity], [2 * width, Infinity]]) | |
.on("zoom", zoomed); | |
var zoomRect = svg.append("rect") | |
.attr("width", width) | |
.attr("height", height) | |
.attr("fill", "none") | |
.attr("pointer-events", "all") | |
.call(zoom); | |
g.append("clipPath") | |
.attr("id", "clip") | |
.append("rect") | |
.attr("width", width) | |
.attr("height", height); | |
var xAxis = d3.axisBottom(x); | |
var yAxis = d3.axisLeft(y); | |
d3.tsv("data.tsv", type, function(error, data) { | |
if (error) throw error; | |
var cities = data.columns.slice(1).map(function(id) { | |
return { | |
id: id, | |
values: data.map(function(d) { | |
return {date: d.date, temperature: d[id]}; | |
}) | |
}; | |
}); | |
console.log(cities); | |
x.domain(d3.extent(data, function(d) { return d.date; })); | |
y.domain([ | |
d3.min(cities, function(c) { return d3.min(c.values, function(d) { return d.temperature; }); }), | |
d3.max(cities, function(c) { return d3.max(c.values, function(d) { return d.temperature; }); }) | |
]); | |
z.domain(cities.map(function(c) { return c.id; })); | |
g.append("g") | |
.attr("class", "axis axis--x") | |
.attr("transform", "translate(0," + height + ")"); | |
g.append("g") | |
.attr("class", "axis axis--y") | |
.call(yAxis) | |
.append("text") | |
.attr("transform", "rotate(-90)") | |
.attr("y", 6) | |
.attr("dy", "0.71em") | |
.attr("fill", "#000") | |
.text("Temperature, ºF"); | |
var city = g.selectAll(".city") | |
.data(cities) | |
.enter().append("g") | |
.attr("class", "city") | |
.attr("id", function(d) { return d.id.substring(0, 3).toUpperCase();}); | |
city.append("path") | |
.attr("class", "line") | |
.attr("clip-path", "url(#clip)") | |
.attr("d", function(d) { return line(d.values); }) | |
.style("stroke", function(d) { return z(d.id); }) | |
.attr("id", function(d) { return d.id.substring(0, 3).toUpperCase();}); | |
city.append("text") | |
.datum(function(d) { return {id: d.id, value: d.values[d.values.length - 1]}; }) | |
.attr("transform", function(d) { return "translate(" + x(d.value.date) + "," + y(d.value.temperature) + ")"; }) | |
.attr("x", 3) | |
.attr("dy", "0.35em") | |
.style("font", "10px sans-serif") | |
.text(function(d) { return d.id; }); | |
var cityLabels = d3.selectAll(".city").selectAll("text"); | |
cityLabels.on("click", function(outer) { | |
var me = d3.select(this); | |
var on = me.classed("on"); | |
var idSubStr = outer.id.substring(0, 3).toUpperCase();; | |
if (!on) { | |
d3.select("path#" + idSubStr) | |
.transition() | |
.style("opacity", 0) | |
.on("end", function(d) { | |
d3.select(this).style("visibility", "hidden"); | |
}); | |
} | |
else { | |
d3.select("path#" + idSubStr) | |
.style("visibility", "visible") | |
.transition() | |
.style("opacity", 1); | |
} | |
me.classed("on", !on); | |
}); | |
cityLabels.on("mouseover", function(outer) { | |
var me = d3.select(this); | |
var on = me.classed("on"); | |
var idSubStr = outer.id.substring(0, 3).toUpperCase(); | |
if (!on) { | |
d3.selectAll(".city").selectAll("path") | |
.filter(function(d) { | |
return idSubStr != d.id.substring(0, 3).toUpperCase();; | |
}) | |
.transition().style("stroke", "lightgray"); | |
} | |
d3.select("g#" + idSubStr).raise(); | |
}); | |
cityLabels.on("mouseout", function(outer) { | |
var me = d3.select(this); | |
var on = me.classed("on"); | |
var idSubStr = outer.id.substring(0, 3).toUpperCase();; | |
d3.selectAll(".city").selectAll("path") | |
.filter(function(d) { | |
return idSubStr != d.id.substring(0, 3).toUpperCase();; | |
}) | |
.transition().style("stroke", function(d) { return z(d.id); }); | |
}); | |
// var xExtent = d3.extent(data, function(d) { return d.date; }); | |
// zoom.translateExtent([[x(xExtent[0]), -Infinity], [x(xExtent[1]), Infinity]]) | |
// y.domain([0, d3.max(cities, function(c) { return (c.values, function(d){ return d.temperature;}); })]); | |
// yGroup.call(yAxis).select(".domain").remove(); | |
// areaPath.datum(); | |
zoomRect.call(zoom.transform, d3.zoomIdentity); | |
}); | |
function type(d, _, columns) { | |
d.date = parseTime(d.date); | |
for (var i = 1, n = columns.length, c; i < n; ++i) d[c = columns[i]] = +d[c]; | |
return d; | |
} | |
function zoomed() { | |
var xz = d3.event.transform.rescaleX(x); | |
xGroup.call(xAxis.scale(xz)); | |
line.x(function(d) { return xz(d.date);}) | |
g.selectAll(".line") | |
.attr("d", function(d) { return line(d.values); }); | |
// g.selectAll('.line').style("stroke-width", 2/d3.event.transform.k); | |
// line.x() | |
// g.selectAll(".line") | |
// .attr("d", function(d) { return line(d.values); }) | |
// areaPath.attr("d", area.x(function(d) { return xz(d.date); })); | |
} | |
</script> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment