Skip to content

Instantly share code, notes, and snippets.

@zanarmstrong
Last active March 10, 2016 01:25
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 zanarmstrong/d9d04a0ab0af77fdbb14 to your computer and use it in GitHub Desktop.
Save zanarmstrong/d9d04a0ab0af77fdbb14 to your computer and use it in GitHub Desktop.

Prepping for Open Vis Conf talk.

The simple line chart part of this sketch originally forked from Bostock's simple line chart: http://bl.ocks.org/mbostock/3883245


Might be worth having two versions of this: one which compares STL decomposition w/ all 3 components. Another which uses the 'seasonal' package to show w/ and w/out seasonal.


Goal is to show the decompositions in an interesting and meaningful way

year month guns_total_per_1000 guns_total guns_total_seas handgun_share longgun_share missouri maryland new_jersey district_of_columbia mississippi louisiana alabama texas georgia dc_handguns_per_100k_national_sales
2000 1 2.332 574951 655088.710685556 0.3183 0.6749 2.71 0.636 0.469 0 2.391 2.506 3.14 8.164 3.075 2.1
2000 2 2.344 649111 658925.860865386 0.3178 0.6755 2.728 0.642 0.475 0 2.394 2.493 3.122 8.274 3.045 0.5
2000 3 2.335 664622 657021.995131628 0.3202 0.6728 2.668 0.644 0.493 0 2.339 2.447 3.071 8.443 3.067 1
2000 4 2.342 552965 659698.47505256 0.3188 0.6741 2.743 0.687 0.517 0 2.422 2.601 3.188 8.451 3.171 1.5
2000 5 2.297 467712 647409.449152669 0.3148 0.6775 2.739 0.678 0.525 0 2.453 2.538 3.179 8.506 3.092 1.1
2000 6 2.319 479248 654262.383350558 0.3139 0.6791 2.823 0.651 0.551 0 2.473 2.48 3.167 8.519 3.072 0
2000 7 2.318 480019 654534.577614929 0.3116 0.6815 2.712 0.709 0.559 0 2.425 2.457 3.139 8.42 3.111 0.5
2000 8 2.277 618567 643789.807536772 0.3117 0.6815 2.61 0.678 0.564 0 2.361 2.372 3.207 8.319 3.084 0.5
2000 9 2.296 735382 649780.116168394 0.3125 0.681 2.59 0.679 0.551 0 2.431 2.545 3.181 8.122 2.998 0
2000 10 2.26 792515 640060.083551654 0.3059 0.6874 2.662 0.639 0.537 0 2.355 2.501 3.16 8.261 2.964 0
2000 11 2.268 860882 642786.391980319 0.3112 0.6823 2.785 0.687 0.556 0 2.274 2.49 3.165 8.347 3.087 1.6
2000 12 2.229 984623 632222.811033611 0.3199 0.6732 2.607 0.67 0.555 0 2.188 2.371 3.062 8.08 3.118 0
2001 1 2.281 568018 647477.263850822 0.3098 0.6834 2.692 0.684 0.55 0 2.258 2.411 3.171 8.448 3.076 0
2001 2 2.257 609012 641015.457851532 0.3015 0.6918 2.743 0.706 0.54 0 2.338 2.501 3.23 8.465 3.012 0.6
2001 3 2.239 647260 636447.301249551 0.2996 0.6937 2.723 0.712 0.515 0 2.391 2.564 3.306 8.361 3.079 1.7
2001 4 2.229 523525 634043.48517237 0.299 0.6943 2.635 0.652 0.507 0 2.341 2.378 3.241 8.202 2.912 1.1
2001 5 2.28 471943 649064.240082653 0.3019 0.6918 2.652 0.652 0.497 0 2.331 2.439 3.239 8.345 2.944 1.1
2001 6 2.275 473600 648284.426755317 0.2977 0.6957 2.72 0.738 0.47 0 2.402 2.645 3.32 8.347 2.942 0
2001 7 2.266 464279 646393.604778741 0.2952 0.698 2.782 0.662 0.473 0 2.362 2.561 3.358 8.5 2.91 0
2001 8 2.296 644090 655618.812844059 0.2902 0.703 2.814 0.666 0.476 0 2.367 2.67 3.322 8.606 2.982 0
2001 9 2.64 824481 754243.294466585 0.335 0.6581 2.565 0.701 0.567 0 2.035 2.29 3.093 7.92 2.776 0.4
2001 10 2.658 960890 760040.248253135 0.3463 0.6468 2.514 0.717 0.607 0 2.039 2.34 3.069 7.957 2.805 0.4
2001 11 2.186 856319 625538.099711007 0.3059 0.6864 2.692 0.756 0.683 0 1.853 2.173 2.755 7.212 3.116 0.6
2001 12 2.168 972496 620765.234752974 0.2942 0.6984 2.835 0.773 0.671 0 1.848 2.166 2.788 7.363 3.043 0.6
2002 1 2.089 526899 598616.278642913 0.2956 0.6969 2.756 0.738 0.702 0 1.787 1.996 2.75 7.141 3.032 0
2002 2 2.052 560179 588236.853846019 0.2952 0.6972 2.735 0.735 0.703 0 1.866 2.115 2.744 7.013 3.095 0
2002 3 2.058 595597 590539.517094839 0.2915 0.7011 2.797 0.716 0.699 0 1.861 2.137 2.833 7.196 3.069 0.6
2002 4 2.083 502958 598060.217352933 0.2929 0.6996 2.799 0.72 0.688 0 1.827 2.126 2.766 7.353 3.069 0.6
2002 5 2.062 440878 592560.583894821 0.2935 0.6993 2.772 0.742 0.693 0 1.742 2.242 2.887 7.223 3.074 1.2
2002 6 2.025 409742 582489.968793379 0.295 0.6975 2.58 0.746 0.676 0 1.762 2.169 2.85 7.388 3.095 0.6
2002 7 2.044 424165 588433.43949774 0.2931 0.6996 2.649 0.759 0.654 0 1.764 2.204 2.839 7.398 3.094 0
2002 8 2.045 580510 589160.416374577 0.2966 0.6959 2.709 0.782 0.655 0 1.847 2.466 2.894 7.513 3.023 0
2002 9 2.02 618448 582412.147992626 0.2984 0.6942 2.642 0.733 0.669 0 1.831 2.184 2.848 7.485 3.026 0
2002 10 2.024 727809 584165.636843745 0.297 0.6958 2.679 0.753 0.673 0 1.808 2.176 2.821 7.545 2.975 0
2002 11 2.003 777943 578508.344190082 0.2957 0.6967 2.839 0.767 0.678 0 1.861 2.345 2.854 7.544 3.078 0
2002 12 2.013 900877 581648.21007781 0.2968 0.6958 2.863 0.747 0.673 0 1.913 2.239 2.896 7.419 3.043 0.6
2003 1 1.983 520269 573493.954294938 0.2907 0.7011 2.833 0.781 0.704 0 1.943 2.505 2.874 7.477 3.073 0.6
2003 2 2.038 575800 589537.193308282 0.2966 0.6954 2.828 0.73 0.679 0 1.829 2.33 2.976 7.667 3.165 0
2003 3 2.058 608337 595661.51417579 0.2965 0.6957 2.759 0.774 0.681 0 1.886 2.377 2.872 7.669 3.057 1.2
2003 4 2.01 492720 581952.035444402 0.2932 0.6991 2.738 0.79 0.678 0 1.798 2.245 2.948 7.5 3.072 0.6
2003 5 2.024 443537 586532.599641886 0.2935 0.6987 2.767 0.832 0.686 0 1.812 2.328 2.922 7.587 3.123 0
2003 6 2.02 411370 585988.689814326 0.2939 0.6983 2.773 0.748 0.694 0 1.807 2.22 2.887 7.574 3.13 0
2003 7 1.987 415427 577104.87941409 0.2994 0.6926 2.79 0.736 0.659 0 1.853 2.341 2.989 7.638 3.127 1.9
2003 8 2.029 560940 589611.281155582 0.2992 0.6926 2.746 0.777 0.648 0 1.862 2.224 2.937 7.844 3.186 0
2003 9 2.013 617094 585544.539711295 0.3032 0.689 2.995 0.693 0.638 0 1.86 2.275 2.879 7.542 3.116 0
2003 10 2.008 728364 584651.128022702 0.3008 0.6914 2.905 0.745 0.62 0 1.867 2.429 2.914 7.423 3.08 0.6
2003 11 2.009 749850 585325.157418499 0.2988 0.6932 2.943 0.764 0.634 0 1.825 2.234 2.905 7.133 2.997 0.6
2003 12 2.032 932314 592506.817511624 0.3005 0.6915 2.79 0.754 0.615 0 1.854 2.35 2.955 7.563 3.073 1.2
2004 1 2.06 563813 601067.197836885 0.3074 0.685 2.764 0.703 0.587 0 1.752 2.27 2.908 7.457 3.038 0
2004 2 2.039 602189 595128.349188722 0.3098 0.6824 2.7 0.755 0.583 0 1.867 2.276 2.899 7.441 3.009 0.6
2004 3 2.039 613229 595658.9795132 0.3112 0.6809 2.876 0.7 0.574 0 1.786 2.199 2.895 7.249 2.914 2.3
2004 4 2.043 522581 597363.276397239 0.3073 0.6847 2.965 0.735 0.57 0 1.819 2.269 2.897 7.437 2.948 1.2
2004 5 2.034 436434 595160.248094029 0.309 0.6832 2.847 0.663 0.534 0 1.923 2.206 2.832 7.384 2.94 1.2
2004 6 2.067 430735 605129.722960804 0.3088 0.6833 2.867 0.745 0.515 0 1.837 2.149 2.881 7.359 2.971 0
2004 7 2.088 455593 611974.069181946 0.3052 0.6869 2.91 0.781 0.521 0 1.746 2.186 2.876 7.125 3.103 0.6
2004 8 2.078 554617 609591.031341203 0.3026 0.6894 2.881 0.773 0.57 0 1.818 2.082 2.904 7.136 3.036 0
2004 9 2.075 635384 609170.082414848 0.3 0.6924 2.787 0.806 0.593 0.001 1.75 2.047 2.736 7.532 2.976 2.3
2004 10 2.129 759418 625365.713762651 0.3045 0.6877 2.772 0.781 0.576 0 1.78 2.248 2.901 7.214 2.986 0
2004 11 2.098 787718 616939.065299091 0.3071 0.6849 2.838 0.861 0.59 0 1.826 2.215 2.875 7.495 2.999 0
2004 12 2.094 989298 616072.017161938 0.3052 0.6868 2.867 0.868 0.571 0 1.784 2.276 2.866 7.471 2.908 0
2005 1 2.051 558737 603775.638035994 0.3184 0.6735 2.869 0.835 0.562 0 1.805 2.188 2.923 7.645 2.874 0.6
2005 2 2.114 626878 622839.729651157 0.3196 0.6724 2.831 0.825 0.548 0 1.781 2.228 2.789 7.561 2.878 0
2005 3 2.107 646106 621215.658081325 0.3212 0.671 2.745 0.898 0.536 0 1.763 2.19 2.872 7.615 2.891 0.5
2005 4 2.135 560319 630006.56294946 0.3224 0.67 2.793 0.887 0.512 0 1.756 2.306 2.832 7.775 2.84 0.5
2005 5 2.127 459848 627994.332403677 0.3209 0.6714 2.738 0.858 0.525 0 1.711 2.129 2.782 7.851 2.784 1.1
2005 6 2.124 452464 627662.090650363 0.3237 0.668 2.844 0.851 0.514 0 1.663 2.194 2.913 7.816 2.766 1.6
2005 7 2.147 461922 635092.990219272 0.3305 0.6611 2.783 0.861 0.541 0.001 1.68 2.073 2.745 8.24 2.51 1.5
2005 8 2.149 574218 636292.152113837 0.3323 0.6597 2.777 0.868 0.536 0 1.538 2.154 2.729 8.044 2.464 0
2005 9 2.217 682973 656877.231306834 0.3523 0.6392 2.618 0.879 0.514 0 2.245 3.473 2.91 8.002 2.52 0.4
2005 10 2.217 761274 657320.22655824 0.3401 0.6516 2.699 0.832 0.515 0 2.341 3.001 2.85 8.39 2.574 1
2005 11 2.264 839675 671832.387854245 0.3365 0.6556 2.746 0.795 0.512 0 2.222 3.045 2.879 8.311 3.712 1
2005 12 2.29 1103908 680131.283494593 0.3291 0.6629 2.797 0.85 0.533 0 2.167 2.999 2.901 8.182 3.755 1.4
2006 1 2.35 658550 698418.972297859 0.3299 0.6621 2.8 0.779 0.5 0.001 2.205 2.886 2.793 8.052 3.99 1.8
2006 2 2.306 700401 685814.708946359 0.3265 0.6659 2.705 0.784 0.493 0.034 2.018 2.743 2.772 8.042 3.755 7.6
2006 3 2.289 730452 681297.515317725 0.3276 0.6647 2.701 0.76 0.512 0.001 2.062 2.781 2.744 8.051 3.967 3.4
2006 4 2.264 589939 674279.040239715 0.3326 0.6593 2.643 0.74 0.516 0.001 2.048 2.657 2.703 7.992 3.923 2.4
2006 5 2.227 506301 663886.403773228 0.3348 0.6573 2.756 0.782 0.529 0 2.058 2.766 2.847 8.033 4.142 0.5
2006 6 2.235 500223 666950.805544898 0.3398 0.6521 2.692 0.762 0.521 0.001 2.053 2.807 2.762 8.133 4.044 2.4
2006 7 2.232 485773 666630.761075355 0.3423 0.6493 2.749 0.725 0.493 0 2.058 2.774 2.87 8.133 2.952 0
2006 8 2.3 617640 687520.268879152 0.3446 0.6468 2.71 0.777 0.48 0.001 2.045 2.533 2.778 7.975 2.852 2.3
2006 9 2.349 714996 702721.323897375 0.3352 0.6538 2.731 0.781 0.492 0 2.071 2.284 2.809 7.969 2.788 0.4
2006 10 2.316 760901 693469.359885808 0.3428 0.6487 2.688 0.839 0.503 0 1.944 2.489 2.803 7.926 2.757 0.9
2006 11 2.342 855183 701788.143763527 0.3387 0.6514 2.603 0.841 0.502 0 2.003 2.431 2.854 7.868 2.806 1.4
2006 12 2.36 1093884 707846.285502595 0.3388 0.648 2.711 0.863 0.515 0.001 1.907 2.434 2.83 7.808 2.795 3.1
2007 1 2.342 669125 702861.321394981 0.3461 0.635 2.416 0.892 0.485 0.011 1.87 2.513 2.872 7.702 2.619 2.1
2007 2 2.331 709081 699892.79500135 0.3469 0.6325 2.516 0.889 0.48 0 1.846 2.36 2.737 7.692 2.578 0.4
2007 3 2.342 768020 703736.866250753 0.3463 0.6269 2.541 0.911 0.461 0 1.768 2.425 2.591 7.693 2.48 1.3
2007 4 2.389 637739 718379.142986857 0.3542 0.6177 2.627 0.894 0.435 0 1.81 2.402 2.729 7.658 2.54 0.8
2007 5 2.505 604445 754027.412802096 0.3555 0.6016 2.551 0.844 0.422 0.007 1.699 2.338 2.574 7.423 2.405 2.3
2007 6 2.544 604934 766458.567885545 0.3562 0.6021 2.521 0.825 0.448 0.001 1.737 2.345 2.613 7.31 2.411 1.1
2007 7 2.529 570117 762641.902125672 0.3477 0.6144 2.497 0.842 0.456 0 1.819 2.35 2.564 7.472 2.474 0.8
2007 8 2.44 674492 736218.514538545 0.3599 0.6258 3.032 0.907 0.476 0 1.811 2.452 2.723 7.868 2.651 0.4
2007 9 2.401 689675 725216.130961704 0.369 0.6218 3.84 0.867 0.488 0 1.842 2.035 2.831 7.835 2.609 0.4
2007 10 2.348 764083 709626.988384274 0.3672 0.623 3.353 0.889 0.488 0 1.87 2.547 2.799 8.099 2.546 1.2
2007 11 2.307 839913 697840.578600424 0.3633 0.6276 3.229 0.83 0.489 0 1.904 2.656 2.823 8.108 2.602 0
2007 12 2.324 1044136 703721.65406338 0.3748 0.6156 3.296 0.88 0.492 0 1.891 2.617 2.881 8.361 2.662 0.4
2008 1 2.332 676154 706607.801112615 0.3804 0.6101 3.526 0.904 0.49 0 2.023 2.677 2.945 8.536 2.653 0.4
2008 2 2.305 755758 698945.741175321 0.3807 0.61 3.543 0.988 0.481 0.008 1.771 2.742 3.124 8.355 2.571 0.4
2008 3 2.345 771668 711310.661226028 0.3851 0.6049 3.612 0.877 0.467 0 1.753 2.569 3.292 8.434 2.62 0
2008 4 2.362 657547 717053.253035131 0.3904 0.5999 3.606 0.915 0.472 0 1.74 2.705 3.249 8.553 2.723 0
2008 5 2.438 614266 740846.431141264 0.3906 0.5986 3.679 1.075 0.461 0 1.814 2.783 3.301 8.469 2.677 0
2008 6 2.447 558244 744210.554991535 0.3947 0.5946 3.716 1.043 0.472 0.003 1.798 2.655 3.217 8.824 2.677 0
2008 7 2.511 572069 764174.308552682 0.4021 0.5868 3.66 1.079 0.482 0 1.69 2.616 3.211 8.429 2.678 0
2008 8 2.523 680681 768522.298210497 0.3972 0.5917 3.449 0.989 0.473 0 1.713 2.7 3.093 8.48 2.529 0.4
2008 9 2.505 700643 763556.153690414 0.3919 0.5965 3.289 1.018 0.504 0.006 1.593 1.849 3.064 8.212 2.479 14
2008 10 2.676 879437 816539.464212806 0.4023 0.5856 3.337 1.025 0.514 0.007 1.676 2.871 2.997 9.514 2.628 15.6
2008 11 3.636 1295266 1110177.5204832 0.4475 0.5386 3.254 0.924 0.419 0.005 1.561 2.803 2.885 10.512 2.611 11.8
2008 12 2.842 1275509 868235.608556906 0.4291 0.5573 3.407 1.035 0.511 0.006 1.637 2.741 3.032 9.316 2.496 12.6
2009 1 2.92 895782 892729.300676716 0.415 0.5712 3.631 1.09 0.528 0.004 1.66 2.81 3.124 9.236 2.51 9.5
2009 2 2.888 957373 883609.669184607 0.4134 0.5727 3.58 1.082 0.576 0.005 1.574 2.638 2.972 9.284 2.506 11.8
2009 3 2.937 1015839 899001.766429774 0.414 0.5709 3.683 1.088 0.581 0.004 1.583 2.761 3.061 9.449 2.503 11.5
2009 4 2.966 877288 908572.464849444 0.4145 0.5702 3.659 1.083 0.602 0.004 1.648 2.843 2.985 9.743 2.425 9.7
2009 5 2.8 704754 858346.536732032 0.4098 0.5734 3.59 1.014 0.64 0.004 1.558 2.736 3.108 8.669 2.369 8.8
2009 6 2.74 635909 840451.355167556 0.4045 0.5763 3.615 1.114 0.683 0.004 1.492 2.401 3.025 8.179 2.331 8.5
2009 7 2.671 620482 820062.698107276 0.4086 0.5732 3.702 1.103 0.695 0.003 1.515 2.476 3.187 8.107 2.29 7.7
2009 8 2.649 712957 814102.61698776 0.4142 0.5682 3.588 0.997 0.651 0.004 1.465 2.386 3.222 8.058 2.384 9.6
2009 9 2.66 747023 817941.696543726 0.415 0.5675 3.584 1.066 0.626 0.003 1.568 2.602 3.209 8.063 2.367 7.3
2009 10 2.619 860862 805948.938788994 0.4156 0.5669 3.569 1.031 0.635 0.004 1.472 2.373 3.207 8.277 2.271 9
2009 11 2.554 891988 786490.314705027 0.4176 0.566 3.474 0.949 0.598 0.004 1.392 2.276 3.016 8.309 2.254 9.5
2009 12 2.501 1086183 770712.153621913 0.4094 0.5754 3.494 0.931 0.611 0.003 1.537 2.409 3.072 8.446 2.274 6.5
2010 1 2.5 734877 771001.744791395 0.4088 0.5755 3.4 1.004 0.608 0.003 1.452 2.329 3.023 8.339 2.333 6.8
2010 2 2.537 859513 782890.954870881 0.4139 0.5708 3.63 0.905 0.556 0.004 1.566 2.493 3.115 8.657 2.324 9.3
2010 3 2.547 901786 786442.736552338 0.4177 0.5673 3.437 1.041 0.587 0.004 1.606 2.521 3.097 8.294 2.328 12.4
2010 4 2.536 760904 783415.24133711 0.4202 0.5632 3.338 0.999 0.582 0.004 1.505 2.382 3.059 8.063 2.217 9.4
2010 5 2.593 646476 801736.591329197 0.4241 0.5584 3.497 1.018 0.58 0.004 1.527 2.358 2.979 8.015 2.26 7.6
2010 6 2.634 617477 814822.382500126 0.4242 0.5576 3.674 1.001 0.57 0.004 1.557 2.307 2.979 8.259 2.244 5.9
2010 7 2.666 638855 824676.575045458 0.4278 0.5553 3.511 1.031 0.562 0.004 1.549 2.439 2.94 8.431 2.257 9.5
2010 8 2.709 740055 838592.638146972 0.4287 0.5544 3.449 1.012 0.581 0.003 1.575 2.42 3.051 8.237 2.247 6.3
2010 9 2.726 787212 844558.702777423 0.4292 0.5538 3.471 0.989 0.597 0.004 1.566 2.419 2.949 8.296 2.286 8
2010 10 2.718 873103 842573.818772696 0.4316 0.5515 3.39 0.949 0.586 0.003 1.552 2.489 2.951 8.377 2.347 7.4
2010 11 2.734 976474 848248.734255606 0.4241 0.5596 3.378 0.94 0.574 0.003 1.564 2.48 2.909 8.486 2.253 6.3
2010 12 2.694 1196692 836165.490304618 0.4246 0.5606 3.352 0.955 0.552 0.004 1.472 2.468 2.881 8.537 2.272 7.6
2011 1 2.788 810369 865974.342897094 0.4371 0.548 3.459 0.934 0.567 0.002 1.437 2.546 2.837 8.697 2.264 4.9
2011 2 2.778 977453 863482.578971686 0.429 0.5553 3.261 1 0.602 0.004 1.512 2.45 2.874 8.444 2.399 9
2011 3 2.887 1036247 897646.926535637 0.4311 0.5523 3.504 1.022 0.589 0.004 1.457 2.364 2.776 8.603 2.306 10.2
2011 4 2.919 878875 908079.647884947 0.4266 0.5554 3.478 1.025 0.618 0.005 1.44 2.441 2.769 8.584 2.317 10.5
2011 5 2.94 722935 915225.210770532 0.4275 0.5531 3.548 0.993 0.615 0.002 1.451 2.416 2.845 8.658 2.401 3.8
2011 6 2.951 697093 919300.119475434 0.4328 0.5473 3.354 0.992 0.589 0.002 1.449 2.404 2.981 8.782 2.366 1.6
2011 7 2.94 695482 916425.427765432 0.4322 0.5481 3.393 1.014 0.604 0 1.47 2.397 2.873 8.754 2.391 0.8
2011 8 3.016 839716 940798.858172469 0.4333 0.5477 3.328 1.029 0.601 0.002 1.44 2.293 2.856 8.594 2.406 2.9
2011 9 3.065 896750 956690.966753678 0.4318 0.5481 3.444 0.988 0.611 0.004 1.517 2.355 2.834 8.861 2.418 9.9
2011 10 3.099 971716 968254.176622843 0.4354 0.5459 3.313 0.998 0.591 0.004 1.463 2.252 2.859 8.718 2.283 9
2011 11 3.174 1142053 992223.926173829 0.4334 0.549 3.222 0.973 0.576 0.004 1.477 2.322 2.883 8.578 2.277 8.3
2011 12 3.24 1492637 1013562.01129385 0.4387 0.5441 3.3 1.009 0.606 0.003 1.403 2.314 2.822 8.518 2.286 4.6
2012 1 3.272 949087 1024306.01835536 0.4333 0.5501 3.438 0.9 0.619 0.004 1.404 2.234 2.836 8.564 2.308 10.4
2012 2 3.381 1283994 1058745.68691571 0.4311 0.5504 3.408 1.123 0.648 0.004 1.391 2.388 2.834 8.635 2.29 8.6
2012 3 3.333 1236708 1044275.40315662 0.4339 0.5475 3.266 1.081 0.653 0.003 1.379 2.393 2.855 8.67 2.29 8
2012 4 3.368 969073 1056042.63244968 0.4341 0.5472 3.358 1.054 0.685 0.003 1.391 2.33 2.926 8.645 2.287 6.5
2012 5 3.487 864048 1093991.55620568 0.4326 0.5475 3.338 1.087 0.695 0.003 1.45 2.333 2.889 8.552 2.299 5.9
2012 6 3.579 863540 1123374.84454758 0.4364 0.5435 3.417 1.04 0.677 0.003 1.455 2.359 2.923 8.696 2.343 3.9
2012 7 3.743 876658 1175599.05904901 0.4394 0.5405 3.517 1.056 0.692 0.004 1.435 2.276 2.934 8.764 2.324 8.5
2012 8 3.72 1065797 1169424.29746954 0.4509 0.5266 3.485 1.128 0.706 0.004 1.459 2.281 2.91 8.9 2.293 7.6
2012 9 3.624 1035866 1140109.47365688 0.4588 0.5187 3.558 1.085 0.726 0.003 1.437 2.284 2.927 8.986 2.293 6.1
2012 10 3.657 1145383 1151282.63020336 0.4565 0.5197 3.475 1.094 0.621 0.005 1.484 2.301 2.997 9.018 2.329 10.5
2012 11 4.239 1586365 1335269.34355467 0.4501 0.524 3.336 1.07 0.642 0.004 1.411 2.37 2.891 8.524 2.222 6.7
2012 12 5.211 2388128 1642514.34565992 0.4654 0.5042 3.549 0.932 0.567 0.003 1.271 2.158 2.895 8.705 2.215 7
2013 1 6.388 1898361 2014801.00354595 0.4786 0.5 3.494 0.903 0.629 0.003 1.42 2.495 3.01 8.929 2.319 6.1
2013 2 4.421 1683831 1395078.90712441 0.4396 0.5371 3.463 1.152 0.684 0.005 1.403 2.493 2.937 8.744 2.161 10
2013 3 4.229 1570309 1335276.49572162 0.4335 0.5419 3.475 1.254 0.684 0.004 1.449 2.534 3.083 8.94 2.178 8.8
2013 4 4.174 1233693 1318650.70973713 0.4333 0.5416 3.454 1.28 0.668 0.004 1.473 2.647 3 9.031 2.225 7.7
2013 5 3.954 1002530 1249800.5542815 0.4374 0.5388 3.506 1.506 1.113 0.004 1.421 2.661 3.088 8.846 2.165 6.8
2013 6 3.833 895004 1212267.34564623 0.4442 0.5323 3.326 1.5 1.141 0.003 1.387 2.214 2.926 8.497 2.13 5
2013 7 3.709 873326 1173824.08063034 0.4561 0.5207 3.442 1.558 1.058 0.003 1.412 2.29 3.15 8.809 2.229 6.2
2013 8 3.657 1051849 1158312.86070496 0.4575 0.5189 3.393 1.635 0.978 0.004 1.463 2.324 3.067 8.831 2.202 6.7
2013 9 3.696 1062375 1171496.83577116 0.4668 0.509 3.348 5.443 0.899 0.003 1.393 2.133 2.965 8.563 2.113 6.5
2013 10 3.576 1136984 1134165.12694473 0.4672 0.5083 3.342 1.876 0.882 0.003 1.422 2.283 3.116 8.975 2.254 7.2
2013 11 3.518 1349147 1116533.95181234 0.4623 0.5129 3.164 1.208 0.857 0.004 1.382 2.443 2.932 8.625 2.23 6.3
2013 12 3.477 1593243 1104310.33835028 0.4531 0.5204 3.288 1.335 0.8 0.004 1.336 2.299 3.041 8.601 2.25 6.9
2014 1 3.35 989086 1064535.28452294 0.4589 0.513 3.23 1.709 0.823 0.004 1.358 2.406 2.955 8.792 2.145 10.7
2014 2 3.404 1267296 1082240.06878775 0.4885 0.4817 3.347 1.492 0.799 0.003 1.402 2.509 3.013 8.806 2.201 5.2
2014 3 3.487 1263579 1109070.22911241 0.5001 0.4693 3.293 1.298 0.802 0.004 1.42 2.471 3.032 8.609 2.307 8.7
2014 4 3.476 1013644 1106212.10840047 0.508 0.4616 3.394 0.842 0.788 0.004 1.423 2.465 3.148 8.709 2.356 5.9
2014 5 3.43 888295 1092187.54038832 0.5088 0.4595 3.312 0.798 0.772 0.004 1.425 2.566 3.002 8.644 2.376 5.6
2014 6 3.45 814717 1099300.1396451 0.5074 0.4615 3.473 0.807 0.73 0.003 1.462 2.416 3.175 8.828 2.393 4
2014 7 3.405 821633 1085591.60682943 0.5073 0.4614 3.351 0.775 0.753 0.005 1.376 2.218 2.957 8.849 2.288 8.7
2014 8 3.502 1000126 1117269.23867073 0.5181 0.4507 3.691 0.819 0.736 0.005 1.368 2.253 2.941 9.02 2.325 8.1
2014 9 3.525 1042762 1125537.01949218 0.5187 0.4508 3.573 0.826 0.724 0.005 2.076 2.369 3.124 8.959 2.418 8.6
2014 10 3.61 1192950 1153427.98092031 0.5279 0.4407 3.618 0.781 0.689 0.005 1.415 2.348 3.067 8.961 2.399 8.9
2014 11 3.564 1373639 1139656.85951521 0.5233 0.4442 3.944 0.832 0.675 0.005 1.368 2.389 3.098 8.969 2.405 7.6
2014 12 3.556 1700097 1137746.52091561 0.5337 0.4283 3.677 0.79 0.707 0.005 1.412 2.331 3.085 8.91 2.383 8.7
2015 1 3.548 1068401 1135555.27896473 0.5288 0.4379 3.632 0.667 0.701 0.005 1.474 2.431 3.193 8.746 2.486 9.9
2015 2 3.501 1289868 1121242.59947679 0.5172 0.4486 3.582 0.718 0.703 0.005 1.556 2.379 3.23 8.878 2.516 9.8
2015 3 3.49 1224151 1118358.54160306 0.5202 0.4466 3.601 0.798 0.707 0.005 1.541 2.438 3.134 8.996 2.447 11.8
2015 4 3.506 1009453 1124156.76113145 0.5268 0.4406 3.492 0.814 0.684 0.005 1.535 2.411 3.177 8.877 2.416 8.9
2015 5 3.648 934221 1170150.94090772 0.5383 0.43 3.543 0.775 0.652 0.006 1.545 2.406 3.276 9.095 2.415 8.5
2015 6 3.685 897530 1182674.24674782 0.546 0.4219 3.541 0.82 0.674 0.006 1.538 2.377 3.232 9.077 2.477 7.5
2015 7 3.774 955705 1212289.4714257 0.5513 0.4163 3.542 0.827 0.663 0.006 1.627 2.501 3.367 8.77 2.52 9.4
2015 8 3.702 1051786 1189787.4574138 0.5491 0.418 3.304 0.784 0.669 0.006 1.578 2.566 3.47 8.653 2.521 10.6
2015 9 3.706 1087489 1192112.72093817 0.5556 0.4105 3.354 0.809 0.64 0.004 2.253 2.554 3.412 8.843 2.539 6.4
2015 10 3.696 1224926 1189756.27713164 0.5611 0.4045 3.39 0.848 0.655 0.006 1.533 2.38 3.36 8.638 2.451 10.4
2015 11 3.823 1485086 1231424.44790407 0.5752 0.3923 3.3 0.791 0.679 0.006 1.526 2.378 3.365 8.616 2.436 8
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="stl.css">
<link href='http://fonts.googleapis.com/css?family=Raleway:400,700' rel='stylesheet' type='text/css'>
</head>
<body>
<div>Seasonal Decomposition</div>
<div class="vis"></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js"></script>
<script src="stl.js"></script>
</body>
Decompose a weekly time series
========================================================
Read in a weekly time series and set up so that it's
```{r}
gunData <- read.csv("learninghtml/webProjects/visualizeSTL/gunSalesMonthlyOrig.csv", header = TRUE, as.is = TRUE)
gunDataLimited <- gunData[c("guns_total")]
```
convert data to "time series" format, using the values, a frequency, and a starting value. The frequency determines how the function will read the start value. Here it is expecting the 14th week of 1993.
```{r}
dfTS <- ts(gunDataLimited$guns_total, frequency = 12, start = c(2000, 1))
```
Run the STL decomposition.
Note: change s.window to be 6, 10, etc
Can also change t.window
```{r}
output <- stl(dfTS, s.window=6, robust=TRUE)
```
and plot it
```{r fig.width=7, fig.height=6}
plot(output)
```
save the output
```{r}
write.csv(as.data.frame(output$time.series), "learninghtml/webProjects/visualizeSTL/stloutput.csv", quote = FALSE, row.names = FALSE)
```
// look at seasonality from NYT project
```{r}
gunData <- read.csv("learninghtml/webProjects/visualizeSTL/gunSalesMonthlyOrig.csv", header = TRUE, as.is = TRUE)
gunData$seasonal <- gunData$guns_total - gunData$guns_total_seas
ggplot(gunData, aes(x = month, color = factor(year), y = seasonal, group = factor(year))) + geom_line() + theme_bw()
ggplot(gunData, aes(x = year, color = factor(month), y = seasonal, group = factor(month))) + geom_line() + theme_bw()
```
.hidden {
display: none;
}
body {
font: 10px sans-serif;
}
.axis path,
.axis line {
fill: none;
stroke: #000;
shape-rendering: crispEdges;
}
.line {
fill: none;
stroke-width: 2px;
}
.annualPaths {
stroke-width: 1px;
fill: none;
}
/*
.residual {
stroke: #000;
opacity: 0.3;
stroke-width: 2px;
}
.seasonal {
stroke: #f00;
opacity: 0.5;
stroke-width: 2px;
}
*/
"use strict";
// date helpers
var startDate = new Date(2000, 0, 1)
var interval = 1
// since data comes in without date information -> need start date and intervals
var getDateByWeeksSinceStart = function(months) {
var dat = new Date(startDate)
dat.setMonth(dat.getMonth() + interval * months)
return dat
}
// general parameters
var margin = {
top: 100,
right: 50,
bottom: 400,
left: 100
},
mainChartWidth = 1000,
width = 1400 - margin.left - margin.right,
height = 1200 - margin.top - margin.bottom;
var chartHeight = 150;
var chartSep = 30;
// dataset information
var dataSetHelpers = {
'guns': {
'title': 'Monthly Gun Sales, United States',
'startDate': new Date(2000, 0, 1),
}
}
// chart specific paramenters
var params = {
'original': {
yChartOffset: 0,
name: 'Original Timeseries',
color: 'black'
},
'trend': {
yChartOffset: 200,
name: 'Trend',
color: '#103392'
},
'seasonal': {
yChartOffset: 400,
name: 'Seasonality',
color: '#0f3431'
},
'remainder': {
yChartOffset: 600,
name: 'Remainder (variation from seasonal/trend patterns)',
color: '#793131'
}
}
// formatting helpers
var formatDate = d3.time.format("%d-%b-%y");
var monthFormat = function(month) {
var monthLookup = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
return monthLookup[month]
}
var x = d3.time.scale()
.range([0, mainChartWidth]);
var getXAxis = function(scale) {
return d3.svg.axis()
.scale(scale)
.orient("bottom");
}
var getYAxis = function(scale) {
return d3.svg.axis()
.scale(scale)
.orient("left")
.tickFormat(d3.format(".2s"));
}
var getLine = function(className, yScale) {
return d3.svg.line().x(function(d) {
return x(d.date)
}).y(function(d) {
return yScale(d[className])
})
}
var getAnnualLine = function(className, xScale, yScale) {
return d3.svg.line().x(function(d) {
return xScale(d.date.getMonth())
}).y(function(d) {
return yScale(d[className])
})
}
// svg setup
var svg = d3.select("body").append("svg")
.attr("width", width + margin.left + margin.right)
.attr("height", height + margin.top + margin.bottom)
.append("g")
.attr("transform", "translate(" + margin.left + "," + margin.top + ")");
d3.csv("stloutput.csv", function(error, data) {
if (error) throw error;
// manage data
data.forEach(function(data, i) {
data.remainder = +data.remainder;
data.seasonal = +data.seasonal;
data.trend = +data.trend
data.original = data.remainder + data.seasonal + data.trend;
data.date = getDateByWeeksSinceStart(i)
})
// nest data by year for annual charts
var annualNested = d3.nest()
.key(function(d) {
return d.date.getFullYear()
})
.entries(data)
// date min to date max
x.domain(d3.extent(data, function(d) {
return d.date;
}));
// 0 to max for y: note - assume min value of 0 for time series
var domainExtent = [0, d3.max(data, function(d) {
return d.original;
})];
// shift it so that 0 is in the middle, for seasonal & remainder
var midDomainExtent = [-domainExtent[1] / 2, domainExtent[1] / 2]
var drawChart = function(svg, className) {
var chartParams = params[className];
// everything
var chart = svg.append("g").attr("class", className)
var minValue = d3.min(data, function(d) {
return d[className]
})
var yDomain = minValue > 0 ? domainExtent : midDomainExtent
var yFunction = d3.scale.linear()
.range([chartHeight + chartParams.yChartOffset, chartParams.yChartOffset])
.domain(yDomain);
chart.append("g").attr("class", "x axis")
.attr("transform", "translate(0," + yFunction(0) + ")")
.call(getXAxis(x));
chart.append("g").attr("class", "y axis")
.call(getYAxis(yFunction))
.append("text")
.attr("transform", "translate(" + 4 + "," + yFunction.range()[1] + ")")
.attr("dy", ".71em")
.style("text-anchor", "start")
.text(params[className].name);
chart.append("g").attr("class", "fullPaths")
.append("path")
.datum(data)
.attr("class", "line")
.attr("stroke", params[className].color)
.attr("d", getLine(className, yFunction))
}
var drawRemainder = function(svg, className) {
var chartParams = params[className];
// everything
var chart = svg.append("g").attr("class", className)
var minValue = d3.min(data, function(d) {
return d[className]
})
var yDomain = minValue > 0 ? domainExtent : midDomainExtent
var yFunction = d3.scale.linear()
.range([chartHeight + chartParams.yChartOffset, chartParams.yChartOffset])
.domain(yDomain);
chart.append("g").attr("class", "fullPaths")
.selectAll(".remainderBars")
.data(data)
.enter()
.append("line")
.attr("stroke", params[className].color)
.attr({
"x1": function(d) {
return x(d.date);
},
"x2": function(d) {
return x(d.date);
},
"y1": function(d) {
return yFunction(0);
},
"y2": function(d) {
return yFunction(d[className]);
},
"stroke-width": 3,
"opacity": .5
})
}
var drawOverlayChart = function(svg, className) {
var chartParams = params[className];
// everything
var chart = svg.append("g").attr("class", className)
var minValue = d3.min(data, function(d) {
return d[className]
})
var oneYearWidth = (x(startDate.getTime() + 24 * 60 * 60 * 1000 * 365) - x(startDate)) * 2;
console.log(oneYearWidth)
var xOneYear = d3.scale.linear().domain([0, 11]).range([mainChartWidth + chartSep, mainChartWidth + chartSep + oneYearWidth])
var colorByYear = d3.scale.linear()
.domain([x.domain()[0].getFullYear(), x.domain()[1].getFullYear()])
.range([-5, 0])
var yDomain = minValue > 0 ? domainExtent : midDomainExtent
var yFunction = d3.scale.linear()
.range([chartHeight + chartParams.yChartOffset, chartParams.yChartOffset])
.domain(yDomain);
console.log(yDomain)
chart.append("g").attr("class", "x axis")
.attr("transform", "translate(0," + yFunction(0) + ")")
.call(getXAxis(xOneYear).tickFormat(monthFormat).tickValues([0, 3, 6, 9]));
chart.append("g").attr("class", "y axis")
.attr("transform", "translate(" + (mainChartWidth + chartSep) + ",0)")
.call(getYAxis(yFunction).tickFormat(""))
chart.append("g").attr("class", "data")
.selectAll(".annualPaths")
.data(annualNested)
.enter()
.append("path")
.datum(function(d) {
return d.values
})
.attr("stroke", function(d) {
return d3.hcl(params[className].color).darker(colorByYear(d[0].date.getFullYear()))
})
.attr("class", "annualPaths")
.attr("d", getAnnualLine(className, xOneYear, yFunction))
}
// draw them!
drawChart(svg, 'original')
drawChart(svg, 'trend')
drawChart(svg, 'seasonal')
drawChart(svg, 'remainder')
drawRemainder(svg, 'remainder')
drawOverlayChart(svg, 'original')
drawOverlayChart(svg, 'trend')
drawOverlayChart(svg, 'seasonal')
drawOverlayChart(svg, 'remainder')
});
.hidden
display: none
body
font: 10px sans-serif;
.axis path,
.axis line
fill: none
stroke: #000
shape-rendering: crispEdges
.line
fill: none
stroke: darkblue
stroke-width: 1.5px
.minusSeasonal
fill: steelblue
stroke: none
opacity: .5
.minusSeasonalLine
fill: none
stroke: darkblue
stroke-width: 1px
opacity: 1
/*
.residual
stroke: black
opacity: .3
stroke-width: 2px
.seasonal
stroke: red
opacity: .5
stroke-width: 2px
*/
seasonal trend remainder
-74882.458333205 666032.601884754 -16199.1435515491
-22174.4273991801 663912.440165694 7372.98723348603
6714.50639912742 661792.278446634 -3884.78484576149
-101041.16036918 659672.116727574 -5665.956358394
-165200.399487483 657551.955008514 -24639.5555210308
-174366.319005639 655431.793289454 -1817.47428381455
-168992.759506004 653279.321116635 -4267.56161063118
-20800.9935360497 651126.848943817 -11758.8554077673
38337.5291528881 648974.376770999 48070.0940761131
138250.519817988 646821.90459818 7442.57558383211
197933.937020897 644669.432425362 18278.6305537405
343368.335655948 642519.883408482 -1265.21906442998
-73257.1452847653 640370.334391602 904.810893163201
-21180.6257233577 638220.785374722 -8028.15965136432
7313.32865558355 636071.236357842 3875.43498657446
-99803.9253700175 633921.687340962 -10592.7619709445
-164334.01027173 631810.962254775 4466.04801695514
-174761.659967718 629700.237168588 18661.42279913
-168743.947288092 627589.512082401 5433.4352056908
-22419.7011367882 625478.786996215 41030.9141405736
36236.9594862329 623368.061910028 164875.97860374
137854.118543705 621273.795980078 201762.085476217
195257.610059102 619179.530050128 41881.8598907698
344103.028743422 617085.264120178 11307.7071363997
-70337.2040585898 614990.998190229 -17754.7941316388
-20154.0124024666 612896.732260279 -32563.7198578123
8100.40252220008 611091.753069624 -23595.1555918239
-97919.8207492303 609286.773878969 -8408.95312973834
-162629.060166682 607481.794688313 -3974.73452163173
-175402.32532324 605676.815497658 -20532.490174418
-168322.655745785 603871.836307003 -11384.1805612182
-24651.7782998009 602624.024330697 2537.75396910391
31771.5714551568 601376.212354391 -14699.7838095479
136727.592553116 600128.400378085 -9046.99293120089
190923.928447136 598880.588401779 -11861.516848915
345944.64231999 597632.776425474 -42700.4187454636
-63931.8965255916 597368.109377098 -13167.2128515067
-17187.0829305415 597103.442328723 -4116.35939818143
9126.36722503269 596838.775280348 2371.85749461967
-92344.5534776002 596574.108231972 -11509.5547543721
-159684.998309982 596309.441183597 6912.55712638504
-179276.474108612 596999.82045031 -6353.34634169808
-168402.04776594 597690.199717023 -13861.151951083
-33757.7395408012 598380.578983736 -3682.83944293472
24173.2974061831 599070.958250449 -6150.2556566319
133813.36965479 599761.337517162 -5210.70717195177
176771.861193075 601119.891775695 -28041.7529687703
347908.317434559 602478.446034229 -18072.7634687879
-53546.116845435 603837.000292762 13522.116552673
-4030.28875280569 605195.554551295 1023.73420151032
17214.0812312349 606554.108809829 -10539.1900410636
-85413.1045784384 608705.112727824 -711.008149385336
-164633.44562531 610856.116645819 -9788.67102050851
-182097.196405755 613007.120563813 -174.924158058595
-173453.390924905 615158.124481808 13888.2664430963
-52016.3632039823 617309.128399803 -10675.7651958211
24543.8690642222 619969.054565408 -9128.92362962989
122163.513967095 622628.980731012 14625.5053018932
168381.768695892 625288.906896616 -5952.67559250817
364164.649023599 627948.833062221 -2815.48208581982
-40843.0102923822 630608.759227825 -31028.7489354428
5956.9062302073 633499.127844017 -12578.0340742241
28985.6110279577 636389.496460209 -19269.1074881662
-81933.5323662679 639279.8650764 2972.66728986742
-165874.525062719 642170.233692592 -16447.7086298731
-180097.471630095 645060.602308784 -12499.1306786888
-176408.849423211 648164.15893006 -9833.30950684857
-62670.1997753478 651267.715551335 -14379.5157759873
18498.4563951694 654371.272172611 10103.2714322199
101451.935476321 657474.828793886 2347.23572979274
161628.625000349 660578.385415162 17467.9895844894
376076.035726802 663763.926477925 64068.0377952724
-37284.5124849224 666949.467540689 28885.0449442334
10969.0520711466 670135.008603453 19296.9393254007
39899.0271579081 673320.549666216 17232.4231758757
-79176.3832681751 676506.09072898 -7390.70746080473
-154579.446814312 679322.99698304 -18442.5501687275
-174862.537746684 682139.9032371 -7054.36549041618
-175283.323013258 684956.80949116 -23900.4864779022
-63692.3008574802 687773.71574522 -6441.41488774028
3521.00270822266 690590.621999281 20884.3752924969
83265.3272558275 692907.816009726 -15272.1432655531
153519.614857701 695225.010020171 6438.37512212875
374104.369076352 697542.204030616 22237.4268930319
-35668.5088739168 699859.398041061 4934.11083285592
16780.0803375389 702176.592051506 -9875.67238904489
48488.4716089446 704218.124459496 15313.4039315594
-77871.7844558627 706259.656867486 9351.12758837675
-135465.790164206 708301.189275476 31609.6008887296
-166330.194924343 710342.721683466 60921.4732408767
-170424.23815506 712384.254091456 28156.984063604
-60827.8944076365 714784.259001222 20535.6354064145
-14623.1751802597 717184.263910988 -12886.0887307281
76966.8266862489 719584.268820754 -32468.0955070026
139871.204466264 721984.273730519 -21942.4781967831
355150.291451375 724384.278640285 -35398.5700916601
-39529.594229381 727102.182621546 -11418.5883921654
24925.9992062923 729820.086602807 1011.91419090063
58822.4572332874 732537.990584068 -19692.4478173555
-70704.0010969047 735255.894565329 -7004.89346842421
-118443.995124332 737973.79854659 -5263.80342225789
-158327.137192353 740385.847141824 -23814.7099494707
-162210.046348939 742797.895737057 -8518.84938811837
-59726.6962264507 745209.944332291 -4802.24810584041
-29659.5643274803 747621.992927525 -17319.4286000446
74706.8157739626 750034.041522759 54696.1427032788
122847.273943527 752695.901688698 419722.824367775
327235.612502587 755357.761854637 192915.625642776
-49644.6450640477 758019.622020576 187407.023043472
48383.675344973 760681.482186515 148307.842468512
82199.1453621612 763343.342352454 170296.512285385
-53817.8451478613 766947.376289682 164158.46885818
-125885.731634713 770551.410226909 60088.3214078035
-168519.705548417 774155.444164137 30273.26138428
-167708.149047378 777759.478101364 10430.6709460143
-68004.2389530205 781363.512038592 -402.273085571127
-38361.4763100247 785440.804227537 -56.3279175125062
66701.9460033763 789518.096416483 4641.95758014079
126291.959681605 793595.388605429 -27899.3482870334
317933.941504795 797672.680794374 -29423.6222991698
-52126.784556958 801749.97298332 -14746.1884263621
72207.4830665136 806542.996122863 -19237.4791893762
111029.539698031 811336.019262405 -20579.5589604361
-35792.6660109853 816129.042401948 -19432.3763909626
-143805.34775077 820922.065541491 -30640.7177907206
-177870.75371311 825715.088681033 -30367.3349679227
-179002.540033386 832261.743576229 -14404.203542843
-78887.1226813158 838808.398471424 -19866.2757901083
-37919.2605743266 845355.05336662 -20223.7927922929
53784.9653847215 851901.708261815 -32583.6736465365
138178.124749487 858448.363157011 -20152.4879064973
317606.977828145 866589.229399616 12495.7927722386
-49044.3515912419 874730.095642222 -15316.7440509801
80468.3292085592 882870.961884828 14113.7089066129
124227.681570917 891011.828127434 21007.4903016498
-29710.9283568668 899152.694370039 9433.23398682754
-157339.2069031 908502.641327388 -28228.4344242875
-183576.719463367 917852.588284736 -37182.8688213694
-189689.373949646 927202.535242085 -42031.1612924387
-85456.0281031045 936552.482199433 -11380.4540963285
-33914.9708176912 945902.429156782 -15237.4583390903
43592.9260099375 953999.110954039 -25876.0369639769
158383.102553578 962095.792751297 21574.104695125
320801.817934904 970192.474548555 201642.707516541
-55392.1857713343 978289.156345813 26190.0294255211
100956.134893286 986385.838143071 196652.026963643
135660.388671691 992730.967925604 108316.643402705
-38486.3086387889 999076.097708138 8483.21093065105
-173096.208083561 1005421.22749067 31722.9805928896
-188916.72297625 1011766.3572732 40690.3657030452
-202646.413824188 1018111.48705574 61192.9267684498
-87493.3891745545 1024015.47005046 129274.919124092
-35710.1770177814 1029919.45304519 41656.723972594
44964.1255470885 1035823.43603991 64595.4384129995
203439.980105937 1041727.41903464 341197.600859426
318590.993167742 1047631.40202936 1021905.6048029
-65796.1066477353 1053019.08506104 911138.021586691
134218.951519346 1058406.76809273 491205.280387927
129913.005403483 1063794.45112441 376601.543472108
-63981.6744559595 1069182.13415609 228492.540299868
-188173.146285601 1074569.81718777 116133.329097826
-199366.280830842 1078250.07460428 16120.2062265638
-200230.018309079 1081930.33202078 -8374.31371170259
-91387.9750033567 1085610.58943729 57626.3855660709
-43463.6176667972 1089290.84685379 16547.7708130078
56865.4273464285 1092971.10427029 -12852.5316167215
222010.178576903 1094903.14198488 32233.6794382131
318608.957524752 1096835.17969947 177798.862775774
-67546.050778329 1098767.21741407 -42135.1666357364
143003.133917778 1100699.25512866 23593.6109535664
125649.22239959 1102631.29284325 35298.4847571629
-73430.9426959215 1104548.62434961 -17473.6816536915
-192240.590300227 1106465.95585598 -25930.3655557521
-203880.55340311 1108383.28736235 -89785.7339592348
-198589.81456128 1110300.61886871 -90077.8043074319
-91310.3774603377 1112217.95037508 -20781.5729147398
-45527.9384926722 1114110.39307647 -25820.4545837953
60546.3444136566 1116002.83577786 16400.8198084859
228917.143659947 1117895.27847925 26826.5778608052
318909.468416883 1119787.72118064 261399.810402479
-69200.7965091811 1121680.16388203 15921.6326271533
147470.408689101 1123569.81720767 18827.774103232
124735.881917455 1125459.47053331 -26044.3524507619
-78489.4409094109 1127349.12385895 -39406.6829495353
-194699.442959576 1129238.77718459 -318.334225009196
-205944.156622966 1131128.43051023 -27654.273887259
-198053.065050657 1133033.78470641 20724.2803442487
-91416.5634493619 1134939.13890259 8263.42454677098
-46778.2146102381 1136844.49309877 -2577.27848853543
62432.0722560506 1138749.84729496 23744.080448993
233590.20320827 1140655.20149114 110840.595300591
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment