Skip to content

Instantly share code, notes, and snippets.

@asielen
Last active March 1, 2023 09:59
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save asielen/d15a4f16fa618273e10f to your computer and use it in GitHub Desktop.
Reusable Violin + Box Plot

Please use the newest version Violin Plot + Box Plot v3

An implementation of a reusable responsive violin chart.

Based on the concept outlined in Mike Bostocks blog post Towards Reusable Charts. Also based on Violin/Box plots

This script allows for an easy to implement and customize reusable box plot and violin plot. Play around with the options to see some of what is possible using this script.

Open in new window to see the responsive functionality.

See this example on bl.ocks.org here.

date value
1996 3.596360029
1997 10.26274361
1996 13.88045903
1996 4.430921154
1998 5.922947246
1995 1.382145592
1997 14.43549148
1998 33.74458549
1998 1.181537616
1997 12.53120132
1997 7.844803494
2000 44.72552369
1998 11.006754
2000 103.9361533
1996 6.985042087
1997 3.694367788
1995 13.55899338
1995 -4.138651672
1995 9.188864025
1997 1.064069675
1997 -1.035436278
1999 59.24853818
1997 6.774012475
1996 -15.31214245
1995 1.751606959
1995 -74.36569372
1997 0.929744658
1998 21.40006188
1999 -6.307088093
1999 32.91072593
1997 6.68367896
1996 -4.634057984
1998 0.348504328
1997 -4.072232651
1998 3.399635777
1997 -4.838929542
1996 8.529395333
1999 39.20743679
1996 0.834802623
1999 43.8667423
1999 10.80105718
1999 46.85318636
1999 6.687664093
1996 -27.99505505
1997 -1.710160491
1998 15.68053952
1999 5.001334882
2000 91.02108942
1998 13.90893811
1996 -23.06999108
2000 13.38955781
1998 30.52905536
1997 9.897748264
2000 45.69051553
1995 -2.67618137
1996 -2.926395018
1999 4.019737205
2000 106.5389005
1995 9.254107168
1997 6.949517612
1999 2.428952453
1996 -19.14830495
1995 6.345028676
1998 30.91485202
1998 0.779350717
1997 9.596022932
2000 9.140305348
1996 -15.35119517
2000 5.57872384
2000 15.35087359
2000 7.799381838
1999 43.67684568
1997 6.92770287
2000 47.05676294
2000 0.70653046
1998 39.10454028
1998 7.433245336
1998 19.17321408
1995 5.323452755
1995 -75.87338027
1999 5.006257203
1995 -5.118751051
1998 10.08416661
1998 23.77625241
1995 -0.380731586
2000 104.2882403
2000 3.487905215
1998 18.74547511
1998 5.113591677
1995 -47.14305296
1995 10.52781679
1997 -0.801031595
2000 -0.075274165
1996 -8.023744711
1995 8.754079811
1995 -63.68510495
1999 8.539676849
1995 -51.07688001
1998 2.952751758
1997 8.00458758
1995 -1.038151948
1995 -54.413132
1995 3.623611181
1997 8.79473935
2000 12.31900824
2000 13.71134036
2000 6.011294161
1995 -47.02528188
1997 3.582766255
1999 42.14460024
2000 10.89797861
1995 -8.236076418
2000 3.554772475
1998 41.42315517
1998 10.95904238
1999 34.85782018
1998 -0.771127257
1995 -69.79941594
1995 3.746604348
1997 3.432545086
1995 4.846809872
1995 -25.51522229
1999 -2.328038583
1997 11.14442985
1999 4.746720396
2000 22.82247228
1996 7.984129646
1998 20.8900872
1996 2.506581532
1999 83.56342448
2000 1.210609391
1995 -43.23331486
1995 3.744456109
1999 18.27289385
1999 9.759469938
1999 57.18453329
1998 4.421224714
1997 10.55818441
1995 -1.235209072
1997 18.19461774
1997 -3.358684375
1999 40.172502
1997 3.079835538
1995 -49.50910861
1996 7.443870114
1998 19.75150772
1998 6.589134475
1999 71.3520119
1997 7.689760084
2000 29.71873422
1995 11.24940793
1995 -43.30504483
1997 -5.082278753
1997 5.89646001
1997 8.560811867
1997 7.335521502
1998 -1.387919435
1997 7.615185033
1998 7.31713329
1998 32.77781878
2000 9.266807973
2000 69.68899768
2000 13.46606168
1995 -73.75286772
2000 2.680683074
1995 -17.13256358
1996 5.123489191
1998 10.20436156
1996 7.169748621
1998 20.62131466
1995 6.312833178
1996 -22.4450271
2000 8.308466627
1999 52.97615728
1997 7.231943945
1998 30.70794783
1999 4.515607856
1998 25.56978307
1995 5.278886936
1996 -10.02076181
1995 -1.055322074
1999 53.65749202
1997 6.883214694
1998 4.667219266
1996 7.388474792
2000 71.97792025
2000 6.34279466
2000 10.00546921
1998 10.94776942
2000 51.62961588
1996 -23.8858346
1997 6.411809775
1995 -60.41331957
1995 -24.59090401
1995 0.130091384
1998 16.40751676
1996 9.667505127
2000 45.96871004
2000 5.463127318
1995 -2.117851931
1995 16.46655703
2000 119.5691285
1999 6.194905876
1998 33.98602371
1995 -0.690844953
1999 52.76151387
1995 5.027871367
2000 -0.351204234
1997 3.358756524
1997 8.405740161
1999 -3.615196096
2000 100.1671264
2000 4.166832568
2000 26.75520313
1996 3.283371481
1995 -36.00498156
1997 0.065321577
1998 37.28212712
1999 5.142812679
2000 28.55785782
1996 12.51156307
1996 57.62583353
2000 7.189528387
1998 41.85791049
1995 6.699450866
1995 -40.69735373
1997 2.607513638
2000 43.07294046
1997 6.253906167
1997 8.963258867
1997 7.363452311
1997 3.897969074
2000 8.328411318
1995 -48.06100029
2000 4.250953115
1995 -21.31237704
1996 4.915304364
1995 -17.12249876
1999 3.153948394
1998 25.49334612
1999 10.93109262
1996 -14.59043396
1997 9.163849609
1996 -7.199412714
1995 -9.120808099
1999 61.97117037
1996 5.139151393
1999 48.81544938
1999 10.66851909
2000 73.35304127
1995 7.868983339
1999 48.7639222
1998 14.78338674
1995 -11.87129575
1999 20.44604104
1995 -43.64238411
1998 7.70849112
1999 40.48797872
1998 4.619477337
1999 55.17021731
1998 5.532367235
1996 -12.36273566
1996 0.324921354
1996 -14.16742632
1995 10.06121926
1996 -18.31667737
1999 8.914577753
1999 3.247317524
1997 10.85221342
1996 -2.933828376
1996 2.175852386
1997 1.191131362
1999 -2.051828368
1995 -30.57984379
2000 5.09489987
1997 12.03227792
1996 8.656825096
1997 -66.35713962
1996 4.769511059
1999 69.3688787
1995 1.672799283
1995 -124.5785026
1997 -3.202449694
1999 72.66978886
1996 -0.820985046
1997 -5.142220245
1997 1.065396801
1997 13.61351409
1998 7.263446909
1999 28.64774697
1995 4.568716366
2000 92.00313455
1996 5.49158636
2000 98.58189138
1998 4.399753726
1995 -30.63323213
1998 -6.446444496
1998 16.08285309
1999 -1.484192162
2000 142.3642858
1998 6.070383912
1998 17.05180245
1995 11.42786888
1995 -31.86547921
1997 5.540351288
2000 81.66516696
1997 11.63668392
2000 36.89930472
1996 5.620564694
1996 -21.8882248
1996 4.680562104
1996 -25.66984605
1998 17.08057786
1995 -51.14269757
1997 6.769348879
1996 -11.6480911
1998 0.662032825
1998 18.57150976
2000 1.032697383
1997 0.461031071
1995 2.383821491
1999 42.62749926
1998 5.245834996
1998 39.68199829
1998 7.356142468
1999 59.65130329
1998 12.22966864
2000 35.55214219
1995 0.304630318
1996 -10.08347967
1995 1.61656805
1997 6.116435186
1998 2.787570192
1996 -17.44344647
1995 7.824380832
1999 36.90233052
1998 8.686855888
2000 75.85342534
2000 13.17627428
1999 31.56700615
2000 2.324565939
1999 35.81822021
1997 5.28870853
1996 -11.66360544
2000 12.46083155
2000 33.75369326
2000 5.998289937
1996 -22.93192815
1998 4.75803425
1998 35.20233684
1999 1.381337418
1995 -65.50820508
1998 14.16590017
1997 10.84227862
1995 7.027575673
1999 31.51542969
1995 8.754002538
1997 4.293112126
1998 3.256236375
1996 -9.098032346
1996 12.88893496
2000 99.89926337
1995 10.51724521
2000 76.53248964
1996 10.51769279
2000 24.238792
1997 6.708677533
1998 29.28663875
1998 -0.613647846
1995 -22.2644596
1999 3.149024123
1998 38.16516207
1996 -11.21263062
1999 76.69067133
1995 2.862235338
1995 -45.58939923
1997 11.38668652
1995 -54.81193304
1997 3.937738562
1999 78.99144896
1996 7.389115101
1998 26.80718793
1995 6.394199751
1999 13.76365393
1999 4.659356354
1997 7.147838039
1999 6.098827391
1995 -46.04482113
1998 5.292370939
1996 -11.31020655
1996 10.85626931
1997 10.35790793
1995 8.70374404
1997 0.548446362
1995 6.544574608
1996 -11.3380957
1998 4.663580223
1996 -0.42527679
1995 8.138699427
1997 5.461301627
1996 8.387559512
1997 11.05250894
1997 1.059716954
1997 -1.580814214
1999 11.46495508
1999 63.6645773
1999 14.91123093
1996 -16.89816432
1998 3.46178043
1999 79.52551224
1997 -2.443615832
1996 17.90192184
2000 6.015803041
1998 29.38557038
1998 5.482177277
1997 -0.28498558
1998 -0.060688196
2000 55.03321762
1996 1.984754505
1998 21.46401359
1998 9.46631473
2000 30.44370933
1995 -10.39130757
1995 -55.68039581
1998 0.648320948
1997 2.35664471
1998 1.912617332
1998 26.22450802
1997 -3.083552262
1998 37.75468463
1995 9.14748335
1996 -20.68995638
1999 6.117525844
1995 -39.14865852
1998 5.774787423
1996 -14.63353073
1998 2.049764765
1997 9.799492859
1998 5.316620771
1995 -62.29945879
2000 9.575744898
1997 2.92276218
1997 5.663675329
1997 8.806021282
1999 4.101537157
1996 -8.449690419
2000 4.960850294
1996 -20.96309874
1997 3.271144694
1997 11.02957458
1996 3.314274029
1995 -28.56723378
1996 13.02317343
1995 -38.78364558
1998 5.344793727
1995 -34.91237684
1997 -0.510986964
1997 4.220376322
2000 9.337594218
2000 60.35867784
1997 9.219058506
1996 -28.91019483
1998 6.1132041
1997 3.326732228
2000 8.280367716
1996 -19.70507347
1998 1.474594935
2000 73.43043873
1996 11.15765903
1997 15.05028605
1999 2.807620782
1997 9.754071671
1995 5.380707992
1996 -23.5226382
1997 2.545378447
1998 -7.394956913
1996 2.98882701
1996 -15.89685298
2000 1.306528789
1998 13.25262357
1995 -5.291787061
1995 -11.6076049
1996 8.483158447
2000 42.43514682
2000 0.120274678
2000 58.29399806
1996 3.597099791
1999 38.52191188
1998 -2.069263031
1998 12.60282868
2000 7.138453896
1997 11.60439076
1995 9.176844379
1996 -34.99482338
1996 5.914038541
1995 -64.81657105
2000 10.28362266
1997 -10.92378802
2000 4.521573029
2000 90.26147012
1996 2.846852294
1998 27.27113453
1996 6.440384827
1998 17.22964788
1999 0.775540568
1999 31.42247379
1996 6.314694448
1995 -19.58492384
2000 1.632376125
1995 -26.97922277
1997 6.211654772
2000 104.0506132
1997 -3.299115468
2000 43.22873402
1996 8.718425096
1998 26.24430157
1995 13.44936705
1998 37.07566509
1996 -0.973289689
2000 78.84375711
1998 14.44051055
1999 80.46294665
1998 4.097912092
1998 33.74199775
2000 9.780354292
1996 -13.45066077
2000 -5.983203605
1996 -24.72781455
2000 9.857341496
1998 29.73902579
1996 7.031561657
1995 -8.662456647
1999 12.98388554
1995 -29.28865851
1998 -8.229801116
1995 -33.07986511
1996 7.474538883
2000 56.49856366
1995 13.3638298
2000 48.31869922
1995 2.776435354
1996 -26.20114359
2000 66.26772673
2000 59.93493641
2000 9.309615394
1997 0.420068033
1995 6.963886218
2000 62.00294898
1995 1.03029336
1996 -26.61056535
1997 10.76934609
1996 -9.403662125
1996 -1.677695939
1997 4.889546837
2000 7.742046427
1995 -5.884816699
2000 8.681389871
1999 60.25416339
1995 2.654672293
1996 -5.968696849
1996 9.035499571
1999 31.82350515
1998 3.854014373
2000 29.92009777
1996 11.65827169
1996 -24.01413494
1998 5.737486779
2000 135.7074932
1998 1.868333616
1997 7.943320532
1995 -1.939175159
1997 2.54021713
1997 -2.672344907
1996 -17.08488402
1995 2.960106421
1995 -42.15211258
1999 0.810162683
1999 53.24780382
1998 7.195308627
1997 7.019693275
1995 1.962782117
1997 11.6858343
1999 3.836013278
1997 4.580538775
2000 6.082368341
1996 -10.13100012
1995 3.916973724
1998 13.15704548
1995 5.680382474
1995 -52.84833556
1995 7.204256893
1995 -50.38852249
2000 5.113352776
1999 41.74057006
1999 5.816869729
1996 -12.94679321
1995 -1.179205411
1999 78.39943737
1999 8.433286534
1997 -0.119316852
1997 4.367710721
1999 45.55213039
1995 4.63367118
1998 40.39040403
1996 0.151516335
2000 80.98185951
1999 11.50541188
1997 0.471403737
2000 11.8434287
2000 116.0233659
1998 0.966287994
1998 22.26233634
1996 3.762364308
1999 70.17276006
1995 1.672044885
2000 92.7054591
1995 -0.818154002
1998 36.94650399
1996 2.262407418
2000 80.16221578
1998 0.709416284
1995 -38.71949808
1998 -0.770414041
1995 -44.59164437
2000 6.68554875
1998 8.806347045
1999 -1.20768755
1995 -58.0117703
1996 2.465148799
1998 2.042852856
1995 7.664719966
1996 -23.62707999
2000 -2.842401969
1996 -34.03639316
1996 7.519418843
1998 30.83370257
1998 0.473823272
1995 -78.46249402
2000 2.086768951
1999 30.45795868
1998 3.315780316
1997 6.684866386
1999 0.59544603
1995 -18.92199553
1998 8.453628838
1998 1.522526522
1998 5.182302528
1999 21.40480419
1996 5.194688421
2000 72.84264964
2000 -3.656570511
2000 81.87957179
1999 4.567775393
2000 83.67518817
2000 7.862397176
1995 -36.60898303
1996 7.492994206
1998 23.55499455
1998 12.54243066
1999 37.39695951
2000 1.37386055
1997 2.818928905
1999 4.684359535
1998 31.0372097
1995 2.915697033
2000 100.7764358
1995 7.613938565
1999 70.48264988
1996 -2.390126538
1997 -0.567668693
1999 -4.421332977
1995 -19.7478621
1995 -4.077206284
1998 23.62110548
1999 8.938368055
1997 7.094451085
1996 -3.511878191
1998 10.8891609
1996 4.198653623
1995 -25.70731474
1998 -0.923252614
1999 67.05346514
1996 11.96466451
1997 -1.298732993
1997 8.640993836
1996 -6.654885864
1998 0.736504604
1998 33.300585
1999 -0.017166757
1998 8.922034266
1999 10.37450132
1997 14.41570487
1998 3.34928437
1996 -30.84479291
1999 6.609570923
2000 85.99367173
1997 0.73568922
1996 -34.32596342
1995 8.771830748
1999 69.89857777
2000 -1.275562856
1997 8.407902893
2000 3.137210701
1998 29.96915023
2000 3.619327997
1999 32.26559934
1999 6.176027997
1997 7.653924847
1997 1.210550673
1995 -33.58424424
1999 5.030086669
2000 71.64945898
1995 3.230120847
1998 30.51362677
1998 1.414162707
1995 -20.35944602
1999 5.666934387
1995 -52.10271526
1999 4.34102031
1995 -38.09788303
1995 0.3777056
1999 47.89033806
1997 0.866954064
1997 11.39772905
1997 6.785853335
1997 11.82536171
1998 5.890874792
1997 1.588343382
1996 2.605577552
1999 40.88651463
1997 10.02144803
1995 -61.53765257
1995 2.172470369
1995 -12.66094196
1996 0.478293813
1996 1.192442848
1998 3.215667601
1999 45.52828355
1998 0.780354669
2000 63.79098189
1996 19.58907453
1996 -29.42305472
1998 15.91993751
2000 46.48957202
1998 3.774620754
2000 78.04355707
2000 -0.748328428
1995 -32.88571692
1996 -5.256705674
1999 69.75866081
1998 -6.056300492
2000 74.10681152
1998 5.239277921
1999 70.31715613
1996 5.041527495
1998 34.2288339
2000 6.955431887
1995 -48.91160969
1997 7.745398962
1996 -14.99712613
2000 -2.076721651
2000 50.8186833
1998 13.99129884
1999 21.97568446
1999 5.550608981
1995 -40.14249341
1998 13.1120601
1996 -16.97215722
1998 7.850072682
2000 52.50156772
1995 0.466250468
2000 96.46290314
1995 4.173384625
2000 55.62003823
1998 0.865945055
1998 18.49829897
1998 6.983528199
1999 52.85214209
1999 11.2734441
1996 -8.357697472
2000 9.100691817
1996 -29.09911525
2000 5.379805262
1996 -18.63879072
1997 4.224076601
1998 29.29315215
1998 7.301697327
1995 -10.84345117
1999 9.74692624
1999 51.58227271
1998 2.751283108
1997 6.597145881
1996 0.716725733
1996 -22.41059874
1999 6.891164279
1995 -80.26614767
1999 12.98607822
1997 6.499007309
1995 7.589033307
2000 136.6756452
2000 4.799941233
2000 64.26603705
2000 -1.447137808
2000 59.97222292
1995 -0.684735689
1995 -9.557054802
1996 11.72055667
2000 94.72441778
1998 2.836397463
1996 -14.27949392
1996 2.789237601
1997 -4.626374179
1997 1.759973573
1997 6.36042365
1998 7.909038262
2000 61.27471016
1998 3.467916571
2000 65.57833093
1998 9.357117496
1995 -28.28109165
2000 16.93325199
1995 -47.89712373
1998 6.613281289
1995 -31.3884102
1996 2.797951313
2000 -22.29104286
1998 0.96763244
1995 8.630887866
1999 2.266141117
1996 0.087748951
1997 5.531948994
1998 44.04104374
2000 5.899199353
1995 -5.375097498
2000 2.932718585
1995 -46.61620784
1997 5.309188326
1999 94.55887922
2000 3.08750984
1995 -73.32055522
1999 4.927006296
2000 82.50184488
2000 -1.708217611
1997 16.17431757
1997 4.757217625
1998 39.94561794
1997 7.02266971
1995 -30.91383283
1998 -2.638784454
1999 34.83656731
1999 3.472165936
1995 -30.01774311
1999 4.970194138
1999 35.96722454
1996 2.867456782
1997 1.519320818
2000 -1.300289417
1999 35.30412941
1996 -0.471495175
1999 93.81811305
1995 10.77052676
1995 -2.329423007
1998 6.677274935
1995 -67.65994781
2000 4.125685913
1997 7.380593904
1999 51.43493237
1995 -29.23605696
2000 3.09000669
1998 33.37381979
1996 4.48605782
1996 1.700373379
1999 7.385962358
1995 -67.59580162
1998 1.852696313
1996 -21.12856976
1995 9.525189195
1996 -44.24861997
1997 3.238908136
2000 31.29989154
2000 1.13961509
1998 23.42923227
1997 -2.929484344
1996 -2.713090151
1995 3.553638585
1998 26.97351551
1998 16.931675
1998 37.39524809
1999 5.205738787
1999 52.26669109
1998 8.235932045
1998 20.76900944
1995 2.26181959
1998 26.88204678
1999 7.955949339
1997 4.304963766
1998 8.604381561
1995 -15.86755005
1999 1.863340357
1997 9.400511831
1997 -1.707300898
1995 -23.24741094
1998 10.63952933
1997 0.724572622
1995 1.699435561
1996 -27.82716531
1995 -1.733501514
1997 -11.15329644
1997 10.90549984
1995 -26.96208944
2000 1.106657992
2000 71.15106818
1996 5.06518348
1995 -44.17711484
2000 4.912176616
1998 35.64618542
1998 7.439832023
1995 -91.31559813
1998 4.487025275
1999 73.05677874
1995 10.84953402
1998 52.38810198
1996 7.283805375
1996 -11.09566401
2000 1.639969001
1997 -19.58944608
1995 5.328827346
1996 -12.36714444
1997 -8.223469386
1997 -2.200064538
1998 4.67829423
1995 -35.70131251
1997 6.477998511
1995 -37.64950249
1999 2.76287624
1997 16.0586628
1995 1.23465555
1996 -6.058759313
1999 -0.851545207
1998 32.87275798
1997 13.40085878
2000 49.95759179
1997 1.66912393
1998 25.05768718
1997 0.029289035
1998 25.66046043
1995 5.504775614
2000 68.26605173
1998 8.304598023
1998 36.1108741
1998 5.422224063
2000 70.7307372
1996 10.74600798
1999 23.56598708
2000 3.741600448
1999 31.92064956
1995 14.53757918
1995 -21.94002638
1997 13.04560994
1995 -75.19092535
1995 5.17612465
1997 3.274952397
1998 5.693604427
1997 8.428370747
1996 8.195994601
1995 -44.67146701
1998 17.94873379
1995 -63.96616699
1997 1.026115499
1995 -19.93195794
1995 1.807437747
1996 -33.13025267
2000 7.969856073
1999 48.19515464
1997 11.24642614
1997 -3.214556867
1996 0.248931505
2000 58.65455994
1997 2.006293749
1995 2.41360928
1996 7.364976921
1996 -37.58141693
2000 5.048398942
2000 106.6739258
1998 4.939751719
1997 -1.394178976
1998 3.029906264
1998 11.43958012
1999 5.320703728
1999 8.830282134
2000 4.816272555
1998 7.754167583
1999 -1.171161374
2000 108.1681487
1997 7.169157974
1996 -16.26139755
2000 8.452377408
2000 35.66315343
1996 5.523272771
1996 -12.26003316
2000 -0.672778178
1998 21.5415132
1995 5.88942604
1995 -13.54240261
1999 7.672486724
1995 -13.87512079
1999 6.18561291
1999 50.84648784
2000 -0.86918422
1999 65.82855159
1998 -1.038479087
1996 -11.17542793
1997 9.458965309
1995 -30.65830828
1995 9.094066224
1999 59.54973127
2000 -0.217533071
1996 -12.78139689
1995 7.121370924
1999 55.42502266
1997 2.633343268
1996 -12.18506149
1998 4.363800434
1998 29.82081463
1997 5.947628701
1997 19.42707266
1997 -1.915081503
1998 33.9678882
1999 -2.244474255
1996 -10.11814782
1995 8.731374872
1997 4.888603701
1998 10.66057784
1995 -43.19747003
1997 -0.984952851
1997 1.182523104
2000 3.772064846
1998 33.74944489
1999 -0.176040288
2000 127.8345736
2000 0.633343473
1997 -6.057319615
2000 2.986799204
1999 25.35730639
1996 7.688533644
1999 60.6477825
1997 4.48312376
1998 10.36059508
1998 -2.403704805
1998 36.33376789
1995 3.084262739
1998 26.13121134
1996 3.740683091
1999 62.13864307
1997 11.35141206
1995 -51.55562857
1997 13.59416117
1999 35.32536321
2000 12.27904966
1996 -24.02434753
1997 7.072426555
1999 41.16397385
1997 6.730680458
1998 25.90904852
1995 2.046480886
1997 9.35078358
1995 12.05088957
1996 -12.97808935
1996 3.504918238
1999 54.26415525
1997 6.046086664
1997 13.51462922
1996 4.55730021
1995 -33.32175275
2000 8.640476772
1995 -36.00836372
2000 8.391016524
1998 22.55194005
1999 -1.771242908
1998 26.32105502
1996 -4.397636428
2000 108.624369
2000 4.360351728
1995 -63.13036582
1998 12.85035261
1996 -31.5326534
1996 7.732528155
1999 65.90362138
1996 8.325939361
1997 9.523168257
1995 6.191365995
1999 62.89727624
2000 7.423004635
1995 -44.34645127
1997 3.259160892
2000 66.3328534
1996 5.761495925
1997 15.51654035
1998 4.233200081
1997 -1.310001481
1996 5.07455015
1998 27.55908949
1997 3.380335301
2000 59.55433268
1996 7.611253323
1995 -45.31888129
1995 5.621380397
1999 17.16450043
1999 5.676874332
1995 -47.11500876
2000 8.068935264
1995 10.45052275
1997 7.625169054
1995 -69.80226995
1999 2.04278821
1995 -77.02411582
1997 -1.762611752
2000 70.69896429
1996 -3.562596796
1999 44.65175471
1996 11.07270716
2000 63.88666055
1995 6.087742828
2000 -4.21686745
1995 16.03756928
1995 -54.2669091
1995 8.159143324
1997 2.911573375
1995 3.959540514
2000 45.28104788
1999 -1.27060938
1997 -4.413194214
1998 12.83023055
1999 59.41058786
2000 8.79886719
1996 -11.82480344
2000 -0.740945293
1997 -0.092277549
1999 11.56212138
1997 4.687457285
1998 -0.701163428
1997 10.52004464
1995 7.779192492
1999 60.51291238
1995 -0.037433593
1998 37.01606786
2000 5.620269153
1998 48.08008248
1999 -2.440895779
1998 25.39803247
1996 0.840989462
2000 70.72254242
1998 5.904878187
2000 54.25243203
1998 10.20621565
1996 0.165138933
1998 -1.507510073
1995 26.09650763
1995 13.03891869
1997 -2.107382626
1995 -2.278688839
1998 17.80779994
1997 13.33598493
2000 104.654888
1997 -0.280469504
1997 10.06371828
2000 4.024937394
1995 -21.08600848
1998 2.993282428
2000 64.71278743
1998 17.86359615
1999 55.97661462
2000 0.417382528
1995 -45.17542349
1997 13.90414745
1996 -16.86750496
2000 1.085367846
1997 7.716275686
1997 -3.950766902
1996 -5.234876342
2000 4.548063269
1997 55.27125965
1996 8.331729013
1996 -4.304098392
1998 11.55466169
1995 -38.82632119
2000 1.982466519
2000 125.7457225
1999 10.9649384
2000 74.09160329
2000 5.698110802
1997 -1.467298898
1999 8.525536859
1998 14.30334287
1997 2.436751051
1997 1.571066233
2000 6.046317358
1998 37.39157231
2000 9.60098358
1995 -31.6435953
1998 6.433174301
1999 41.18779883
1997 6.430973316
1999 65.804882
1997 6.424095426
1998 19.33406842
1997 12.45582687
1998 44.80020806
1997 6.333231541
1999 51.33015497
1996 8.553660546
1995 -39.3393858
2000 6.722305478
1997 5.610801149
1996 0.509332229
1996 -4.389939855
1995 7.207171158
1997 4.590137791
2000 -4.943967361
2000 100.0033528
1997 10.84576074
1999 33.81962573
2000 10.90732817
1995 -42.4502342
1998 7.630178923
1995 -76.4159756
1999 2.384232257
1996 -40.8265945
1995 8.911057006
1998 6.591743358
2000 0.733983282
1998 27.32005396
1995 5.598676599
2000 17.47860984
1997 8.397841003
1999 43.67159348
1996 -2.770720073
2000 -10.80264359
1996 0.05617196
1999 26.79116851
1995 -0.009738822
1999 42.92139541
1995 9.79092717
1997 -3.238680518
1997 0.513156623
1995 -29.04401966
1997 5.802838204
1999 24.33963654
1995 11.49418801
1995 -16.82329592
2000 9.850051643
1999 62.99667837
1998 3.692027675
1999 2.878038084
1995 -3.234143137
1999 46.30219287
1999 -7.62260104
1996 -7.885609854
1999 1.286337466
1999 52.9094984
1996 0.477147862
1996 -4.273906025
1999 3.643955849
1999 26.44780238
1997 12.18751289
1997 6.394538001
1996 11.05143963
1997 -0.076336253
1995 3.032070066
1997 -1.129399309
1998 5.470985307
1998 28.5722904
2000 2.9488017
1995 -31.31585557
1996 11.47417962
1995 -32.8950375
1999 4.899121703
2000 46.46272483
1995 1.727157248
2000 116.8446245
1996 4.938922306
2000 113.51366
1996 1.981652597
1998 16.23983551
1998 5.677744835
1999 79.15432935
1995 14.71587336
1995 -31.22669951
1995 6.460810777
1997 7.831815408
1999 -3.574808547
1999 24.35703333
1997 15.55184083
1995 6.782582393
1999 -11.88038447
2000 58.84437313
1999 2.071728872
1995 -85.67912122
2000 7.896257396
2000 72.98311167
1998 5.803899108
1997 8.605333151
1995 1.109304065
1997 13.72441313
1998 13.86648997
1996 -8.981696972
1999 3.581427551
1995 -35.32028682
1997 3.452908781
1997 -4.646830246
1996 14.49732248
1995 -34.40908079
1996 14.96187443
1999 54.63700623
2000 9.777505189
1999 13.0061996
1999 8.621089979
1999 46.81328221
1999 4.843667257
1996 3.908642087
1999 12.93882197
1997 8.363907067
1995 3.293968491
1998 11.98382218
1997 4.067795005
1995 -18.63152423
1999 17.49826564
1997 -4.562057244
1999 15.0167167
1998 12.65841393
1999 1.690377222
1998 8.851809175
1996 1.313760298
1999 32.35399602
1997 -0.256383158
2000 37.66798505
1997 9.813652207
1998 29.20305833
1996 2.130731084
1998 30.56219097
1999 7.163764399
1995 -40.69126712
2000 -4.300939536
2000 34.97259642
2000 3.583424934
1997 8.944488511
1996 10.62945672
1997 11.30961948
2000 7.32720894
1999 42.61780236
2000 8.668982216
1998 43.0588398
2000 3.21009583
1999 72.66848154
1998 9.997310016
1999 21.9486856
2000 0.016081638
2000 71.48013203
1997 -3.239840712
1995 -54.47172601
1997 8.249491333
1996 -3.834212095
1997 7.363181912
2000 63.77509945
1998 11.42792103
1999 54.1718431
2000 4.756850558
1995 -55.18929572
1997 3.623327341
1999 84.75545267
2000 3.227166814
1997 6.313642022
1999 6.187454232
1998 25.17634868
1996 -3.040689917
1997 4.710916221
1996 4.093335585
1996 -19.54562742
1997 7.883601683
1998 59.61541264
1997 11.87764938
1995 -29.07092327
2000 0.882759251
2000 69.59773674
1998 6.657880984
1997 4.953700865
1995 3.990551688
1998 22.35484652
2000 2.684655653
1999 17.41013737
2000 2.684856082
1998 4.324560556
1995 9.662249146
1999 52.70251795
2000 -0.965810217
2000 125.7555683
1998 9.533387645
1996 -23.88572536
1997 2.587166936
2000 98.65877762
1999 12.8886361
1995 -34.27526818
1997 8.700802117
1997 11.91699619
2000 3.90602391
2000 51.68777831
1995 2.573206872
2000 100.3892145
1998 9.239294055
1998 34.12961626
1995 4.218211131
2000 73.89006175
1999 -9.635619581
1998 12.86033529
2000 -2.766948437
1995 -65.46195576
2000 2.86953948
1997 7.712361173
1998 2.530960933
1999 66.78291283
2000 10.82431342
1998 38.17989625
2000 7.934419984
1999 78.14769442
2000 -0.898358023
1999 23.64917921
1998 4.473136769
2000 82.9978043
1998 -0.234208145
1996 -13.03993278
1996 13.78974814
1995 -60.60001658
1999 -0.348135873
1996 -20.75584393
1996 12.54525434
1996 2.622838748
1996 10.96858716
2000 29.28020717
1999 7.752539736
1999 48.03869325
1999 1.841231102
1995 -50.17120255
2000 16.01225159
1996 -39.16989565
1996 -1.636866426
1995 -40.72293569
2000 9.949662655
1995 -72.18073124
1995 -1.202824189
1996 -26.67444523
1996 -0.187221284
1999 25.84076264
1998 4.483854809
1997 4.240747104
1997 2.547909415
1998 16.93055529
1995 2.298964867
1998 1.858119157
1999 -1.941097359
1998 21.44125353
1999 14.94489593
1999 62.15091695
1996 -5.937659374
1999 19.42160578
1996 0.783898887
1995 -23.8910012
1998 2.735862858
1995 -62.91641666
1998 5.458841201
1997 5.186413989
1998 0.079590151
1998 31.33383137
1995 5.374129581
1997 6.81855011
1996 0.697312743
1996 -15.2365028
1999 0.767264763
2000 149.9539654
1999 -1.575977665
1998 33.29287808
1999 3.026762995
1996 -31.89987855
1996 4.077978983
1998 22.65802635
2000 -5.004020529
1998 29.45629663
1996 8.029372302
2000 63.60272903
2000 8.87754243
1998 53.22770233
1997 1.971426374
1999 41.54076226
1999 6.966730539
2000 42.13162904
1998 4.686231363
1999 31.16099655
1997 3.380933566
1995 -26.0079013
2000 6.711832073
1995 -59.09870949
1996 13.08547529
1997 -0.530375276
1999 5.94705251
1997 3.623910036
1999 7.299413857
2000 70.79871053
1996 -5.824540556
1999 -50.73736724
2000 10.75561601
1999 47.06833268
1995 21.48824722
1997 4.836917521
1997 -1.799864746
1996 -2.309672466
1997 8.128267237
1996 -21.37719995
1997 7.038722571
1998 34.83154892
1999 2.593738132
1998 31.93794358
1998 4.547309464
2000 87.69349229
1999 3.68135888
2000 89.41166885
2000 7.057439517
1995 -36.43181623
1998 7.872113609
1998 32.02945415
1998 0.753988686
1999 46.42141474
2000 3.767949484
1995 -63.31848348
1999 -0.455424517
1998 38.39679235
1997 5.282277769
1998 39.33917736
1997 15.03435871
1998 7.413357771
1998 4.854867613
1995 -64.92690435
1997 0.881777454
1999 60.65079174
1996 0.052376087
1999 71.61509677
1999 1.097502574
1996 -9.903281277
1997 -40.20028068
1997 6.454226335
1999 6.771532908
1998 23.87427079
2000 0.539159739
1998 -46.88834657
1998 14.51276921
1999 33.47173537
2000 6.867893145
1999 68.31018353
1997 4.680646261
1999 47.03412571
1997 -6.728806651
1997 3.232337144
2000 0.528195275
1999 10.36380248
2000 6.854187402
2000 68.34668578
1998 5.524034991
1999 30.6556822
1995 12.25889814
2000 75.62932811
2000 1.675281679
1997 8.934330246
1995 5.530288561
1996 -15.34141382
1997 3.107030371
1997 0.994251737
1995 10.35091876
1997 -3.030120136
1998 6.442739277
1997 7.008829416
1999 4.950926637
1997 -5.619825893
1998 7.15297729
1999 29.20002888
1995 9.154898348
2000 75.52994186
1996 2.166850062
1999 56.41630373
1996 -0.623517412
1996 -52.03773252
2000 10.27405283
1998 35.97098535
1997 1.036733145
2000 78.1276823
1996 3.727912414
1999 78.61522196
1999 6.83677966
2000 37.19723031
1998 7.350998037
1997 4.352991666
1997 3.118007526
1998 19.18221972
1997 -0.043499371
2000 28.65199996
1995 5.64789947
2000 18.25053255
1998 3.129986253
1995 -44.57735925
1999 -2.779747511
1997 0.830140812
1999 10.55208957
1999 47.52930346
1997 8.792914013
1999 37.22980494
1995 5.665104977
1999 53.67921916
1997 3.542388982
1998 22.88226087
1995 5.984680949
2000 92.23423015
1997 9.905108615
1999 34.49001545
1995 4.011642431
1999 52.26510051
1996 -2.91931312
2000 34.43673016
1999 18.02679204
1998 25.02183822
2000 -1.162100024
1995 1.813368043
1996 1.854185511
1996 -11.66069842
2000 -5.758847342
1997 -0.446672125
1998 9.080469832
2000 1.428280293
1997 6.48145465
2000 -1.600986793
1995 7.435296408
1998 35.86393499
1996 -3.215950628
2000 23.59277075
1998 4.214087936
2000 55.28956114
1998 -2.398100443
1997 7.06806022
2000 4.797295517
1998 20.46204152
1996 6.496184549
1998 30.98659477
1997 7.056193253
1999 60.14704951
2000 16.3550786
2000 97.90860309
1999 7.133288032
2000 67.05365454
1997 -0.868436938
1998 25.13984142
2000 -4.423230636
1996 -17.07999396
2000 6.081381824
1996 -16.06135065
1995 31.26551802
1999 68.35758556
1998 0.222109006
1995 -15.39401749
1998 10.2853736
1995 -59.50697976
2000 -0.521288754
1997 1.80199514
1995 7.805670221
1995 14.68227668
1999 4.683971667
1998 50.12799628
2000 -0.423548817
1997 3.598468946
1996 2.989949494
1999 33.84127506
1997 47.24858287
2000 109.4818426
1998 8.079677462
1999 39.83461004
1996 1.434418136
1999 76.12519394
1996 -1.70252783
1996 -14.00974354
1999 6.479033072
1996 -21.58137694
1996 2.754975801
1997 3.223216916
1996 11.20861968
1998 6.183050146
1996 5.631206547
1997 4.197764002
1995 9.433646172
1999 38.93490192
1996 8.197814876
2000 78.46256742
1999 1.692277703
1996 -18.47849344
1995 5.828668331
1998 23.55103142
1997 7.1001324
1999 52.26498266
1995 13.16376488
1997 8.097492279
1999 5.822997809
1999 111.3878303
1997 4.39799205
1998 29.79226047
1995 13.78318955
1996 -8.744971313
1995 7.833011857
2000 47.81496801
1998 2.645975844
2000 54.63174713
2000 0.899506337
1996 -18.96277398
1997 6.481593769
2000 71.46894462
1998 1.746548814
1999 38.99677538
1996 0.147335276
1996 -23.05523142
1998 70.810829
1996 -7.224325271
1999 6.500605432
2000 54.91053688
1998 5.318084289
1996 -30.25382096
1999 0.067050242
2000 21.4976105
1995 4.208761293
1997 3.762189476
1996 1.665600133
1995 -16.12574151
2000 -1.477933955
1995 -16.81124061
1997 2.31484349
1998 36.93278224
1999 -1.140617172
1999 30.61763897
1998 4.573396272
1998 51.09606637
1997 7.160530956
1998 31.20985881
2000 -2.409636718
1999 48.69322004
1997 -3.086546584
1996 -2.582808125
1999 11.6360573
1996 1.833864564
1995 6.066444835
1999 29.86338399
1997 2.666317451
1997 3.642236988
1998 9.247836264
1996 -22.85749033
1996 11.93153798
1995 -26.1291328
2000 3.20177741
2000 66.67433786
1999 -0.186185863
1996 -25.42859099
1998 4.154597719
1997 3.787387635
1995 0.863303951
1997 7.161927372
1998 4.228129011
1997 11.53409656
1996 7.410624885
1995 -27.00425874
1997 -7.254019227
1997 3.388793529
1995 3.743432171
1997 -2.349089144
1998 1.123208601
1998 20.16518986
1996 1.534746339
1997 6.876389762
2000 3.040861509
1997 -2.911593891
1999 0.53221635
2000 87.03622797
1998 0.969294279
1999 76.79680376
2000 3.047496953
1998 14.98250242
1999 9.326724416
1995 -21.16855118
1996 -1.363334196
1997 2.358536963
1996 9.410053248
1998 11.27447475
1996 1.809597672
1995 -10.50483595
1999 1.89757996
1998 15.02047815
1997 3.579552711
1999 29.70294301
1999 -2.994086049
1995 -32.46620332
1999 7.243923937
1998 26.84120091
1998 5.7497349
1998 36.2405065
1995 5.930239087
1995 -52.71698849
1995 -0.08048046
1995 -22.8089151
1996 1.545570429
1997 1.508923285
1998 5.229355966
2000 79.10600827
1997 4.376789853
1999 38.88565201
1997 2.121855072
1995 -99.78406338
1996 1.000116686
1999 29.65137121
1999 10.54678722
2000 58.12135124
1996 -21.14395239
2000 85.61221855
2000 5.713479325
2000 57.10270151
1997 -2.289964827
1996 -19.88151478
2000 9.835437418
1995 -53.17482907
1999 4.854577516
1995 -75.83540056
2000 10.99429353
1998 22.23666541
1997 1.985276386
2000 110.2228725
1996 4.34751084
1996 -7.186156926
1999 7.650983053
1995 -34.34548363
1999 8.576363711
1997 10.83803465
2000 3.909406595
2000 55.23274445
1995 4.907401714
1995 -65.78922906
1997 -1.72959675
1995 -20.29026406
1997 -1.564344527
1998 12.71617978
1999 3.016925857
1998 13.62529376
2000 13.67350741
1997 2.392852998
2000 3.275479622
1999 72.69993587
1996 9.826733232
2000 1.597229293
1998 2.407697262
2000 60.60052783
1999 6.308253737
1995 -26.93030211
2000 9.695874943
1995 -42.01076506
1996 6.329687446
1998 26.82987244
1995 10.73282765
1999 23.32489094
1997 6.771894881
1997 13.38178601
1996 7.941651938
1999 46.6395846
1995 2.587851336
2000 67.82276876
1995 -78.02021136
2000 74.96506039
1995 11.31936733
1999 36.24676294
1997 5.599440133
1998 35.59893964
1999 1.500354797
1996 -34.48560144
1995 10.06566418
1998 29.83957884
1997 11.72436796
1997 0.478249083
1996 3.296059137
1995 -25.08587251
1996 5.200991825
2000 46.47869088
2000 -0.28706651
1999 37.2848366
2000 1.888356016
1995 -29.12847805
1998 -53.48658803
1998 33.50010679
1998 0.950450945
1996 -15.67965935
1995 9.77871534
1995 -7.393279445
1998 9.587577206
1999 59.39711836
1999 6.649858212
1997 2.280483267
1996 -1.387950758
1996 1.691974898
1999 -4.954623162
1996 -21.63484819
2000 12.80593135
1997 9.200405703
1996 8.42645308
1998 28.59387441
2000 11.20768717
1998 41.69422182
1998 9.201175284
2000 99.8798294
1997 9.890871548
1999 66.17029084
1999 8.511280896
2000 88.22248057
1997 2.324910757
2000 96.46053414
2000 -0.446697686
1996 -5.812088216
1998 7.945967374
1997 2.505242585
1997 1.347047072
1999 27.44225459
1998 4.997269453
1997 7.211313335
1997 8.373336858
1999 57.99595687
2000 6.248106082
1998 53.48446701
1997 6.231397844
1995 -57.33723181
1999 7.41002104
1997 0.304488969
2000 -5.240742175
1998 6.211552019
2000 10.44818028
1995 -19.39065871
1997 0.683238488
1995 -49.07734569
1999 1.684218554
1997 4.759548864
1996 1.18344354
2000 61.03205977
1997 -0.433529113
1996 -27.29237692
2000 9.169550764
1998 24.55796375
2000 15.75377903
2000 89.67470798
1996 6.729834567
1995 -22.17578318
1999 -0.997023239
1998 20.83498768
1998 9.892558358
1995 -26.78341699
1999 5.353273846
1996 -21.91569239
2000 3.55824926
1997 19.36897041
1998 1.863963667
1998 20.28859704
1997 12.27449051
1998 42.28370987
1997 6.581938919
1997 14.20965735
1996 5.493719466
1999 27.68270613
1999 2.458078958
1995 -68.76732192
1997 3.2148222
1995 -52.67223027
2000 5.970192906
2000 59.78350706
1996 11.79010162
1998 22.06943933
1997 0.232192395
2000 112.2014504
1995 -4.363305806
2000 92.17623913
2000 7.047170216
1999 34.569328
1998 2.267734262
1996 -16.55781314
1999 8.334363322
2000 112.2910302
1997 1.86958494
2000 8.247375266
1996 3.818128421
1998 19.2309011
1995 10.46669955
2000 92.15950206
1995 -1.297738856
1999 26.51084207
1995 10.144595
2000 46.75117705
1997 4.236662261
1997 8.992881797
1996 3.833862686
1997 0.281379048
1999 13.38515547
1997 6.827289834
1998 1.153599422
1996 -14.24461104
1996 -1.306051577
1998 21.59071868
1996 6.202533559
1995 -34.33655967
1995 3.166790248
1996 -11.71793995
2000 -59.71889341
1999 30.49349283
1996 10.2454248
2000 42.21603074
1995 1.758133353
1996 -17.53625363
1999 5.354956024
1998 5.926690032
1996 9.299067111
1996 -12.44368784
2000 -2.678927566
1998 21.4929467
2000 0.806513075
1998 22.33056682
1999 5.211876484
1999 36.47535346
1996 7.911365662
1996 -34.2674883
1998 8.001840322
1998 32.06202299
1997 0.943757881
1999 89.76452994
2000 -1.677009038
1996 -32.12864294
1998 3.39565423
1996 -11.66127601
1998 12.61364268
1998 44.0264471
1998 7.744662179
1997 3.079818323
1997 6.203992388
1995 -35.73540071
1996 5.677517571
1996 -0.972959609
1998 5.928128555
2000 67.46671625
1999 5.831476463
1997 5.84635349
1997 2.061777487
1996 -10.80690808
1996 4.408203761
2000 35.74595494
1996 6.359955113
2000 96.70844757
1995 13.07781935
1999 50.68785756
1997 6.426626423
1996 -33.3419616
1999 5.177466189
2000 65.33062319
1996 7.91307533
1996 -15.89499779
1999 3.984103752
2000 57.83517093
1999 1.42020166
1996 -14.27837785
2000 1.640531577
1996 -8.97537191
1997 34.21046258
1997 17.16043985
1995 3.361016159
1995 -29.38590301
1998 -3.542196034
1999 60.87400403
1997 2.979605769
1999 34.63809096
1998 0.009969
2000 36.71067528
1999 7.570649948
1997 3.250538041
1999 7.908255438
1998 9.493405455
1999 9.393039819
1995 -56.06032063
1999 3.65609207
1996 -11.92460632
2000 9.905617469
2000 48.4274281
1997 5.384237527
1995 -46.80293722
1997 6.510342627
2000 67.02212444
1995 6.843863819
1995 -65.1566772
1999 4.891701766
1997 7.652855174
1995 11.7206544
1995 -16.03425139
1999 13.16303483
2000 81.36115151
1997 6.032039098
1999 53.29832176
1997 2.450428885
2000 36.97025346
2000 10.80774398
2000 86.50154692
1995 3.296233746
2000 96.28434547
1996 4.566224244
1995 -30.35667849
2000 7.570260902
1995 -48.40297008
1999 1.100430673
1996 -8.095795896
1999 8.967489006
2000 66.13947458
2000 4.842969547
2000 64.53025501
1999 11.90819951
1995 -66.38634745
1996 7.23479181
1996 -1.756657
1997 6.888538157
1996 -17.39436229
1998 4.986599759
1998 17.37682543
1999 4.166209669
1999 24.79580459
1999 7.152638368
1999 91.84929754
1996 -2.850028551
1999 62.60454261
1997 7.929379416
2000 57.64216036
2000 5.048464457
1999 57.46589038
2000 16.52517847
1995 -43.6239589
1998 8.387482926
2000 43.40460484
1995 12.9600015
1995 -32.89069051
1997 4.374584465
1999 16.26103704
1995 9.967806973
1998 19.59776401
1998 -6.662023694
2000 56.73406568
1995 15.07918332
1995 -12.8082818
1998 1.790317889
2000 59.14222999
1996 5.598233963
1995 -59.69052795
1997 6.886984347
1999 53.43413087
1999 6.754871104
1996 -28.41985824
1999 -7.442422129
1998 31.5761612
1996 4.929213696
1998 3.552281267
1998 9.441129548
1998 2.274154628
1996 3.630814042
1999 35.74046368
1997 0.158083234
2000 38.80957952
1998 6.639211359
1997 7.369048082
1998 6.219651301
1996 -31.51532369
1996 7.304991574
1999 36.70066346
1999 8.107788453
1999 56.24800589
2000 2.154151556
1997 3.025073611
1996 4.633614992
1996 -12.78741475
2000 -0.252898613
1997 6.474496544
1996 2.765992007
2000 89.59545317
1997 2.159507857
1997 0.264250589
1997 7.655484098
1998 21.9199397
1998 7.8248262
2000 74.57237306
1995 8.682145748
1999 20.2650219
1995 -3.214199744
1997 3.868944337
1998 5.514748304
1998 27.43587159
1995 -1.305759171
1996 -20.3080308
1995 15.69260167
1997 -7.619276117
1998 8.790497688
1995 -29.14286165
1997 3.865708967
1999 46.68258441
1999 2.551147266
1997 3.314001263
1997 3.816577304
1997 12.43733746
1995 2.048739143
1996 -5.263476301
2000 1.820053495
2000 87.45198525
2000 1.52692061
2000 71.27936901
1997 4.656543198
1999 38.95672051
1999 -0.199930313
1996 -24.7274325
2000 11.63959625
1996 -10.19562997
1995 1.387896019
1995 -30.19616674
1995 4.566477755
1996 -21.85626782
1996 8.577738064
1999 26.71250821
1997 1.956799324
1995 -25.54050673
1997 0.476575303
1999 70.01034873
1995 8.50896927
1999 41.81454152
1997 1.320074909
1995 -11.11609202
1995 -0.643456386
1999 67.73580795
1999 10.55882994
1997 0.171289087
1997 6.740528909
1997 5.710826073
1999 9.552712514
1998 41.37407578
1997 5.656736078
1998 36.53682841
1995 7.4340124
1996 -20.30797596
1998 5.655102292
1995 -22.50130001
2000 7.059632241
1997 6.360863107
2000 1.290423741
1995 -34.48918456
1999 12.26072375
2000 86.3925953
1998 5.62607169
1998 27.89131592
1997 1.565930827
1999 69.426134
1999 5.479053057
1995 -8.802889793
1998 8.713839908
1996 -1.335557705
1998 1.923001155
1998 15.32114691
1998 5.333986119
1997 -1.396844953
1997 5.114965919
1999 43.41935826
1997 3.706593086
1996 -24.08681638
1999 -1.345672269
1998 30.94780095
1999 10.16000034
1995 -32.84955391
1997 3.885658963
1995 -23.77874065
2000 8.935039499
1995 -23.43079073
2000 31.01837307
2000 106.8064452
1998 -7.39732668
1996 -15.31510034
1998 10.02088732
1997 7.63701225
1999 6.920468423
2000 20.04525003
1998 8.519381456
1995 -81.06543103
2000 8.568545059
1995 -78.75347194
1999 8.520453275
1998 47.37363279
1997 7.253099528
1995 -11.62307221
1998 8.203200203
1997 3.629346281
1995 5.566683435
1998 44.16484544
1998 -1.086027446
1995 -51.459587
1997 0.1366735
1996 -42.62603504
1997 8.248550071
1998 46.59382772
1997 9.74248149
1998 22.23933879
1999 0.804036063
1995 -6.840573338
1998 3.238804847
1997 3.582874316
1995 4.985155902
1996 -22.30695057
1995 8.705650281
1995 -29.08904523
2000 3.193686001
1999 38.83815818
2000 2.049039159
1996 -40.15524602
1996 5.389400769
1997 1.315412455
1998 -0.03796398
1998 38.64281663
1998 2.803236971
2000 52.82062756
1999 9.454293529
1998 24.64431097
2000 -2.980131097
1997 13.71762978
1999 8.884204672
1998 36.23880104
1999 6.031997838
2000 83.40005777
1998 13.5929392
1995 -30.85776718
1997 3.002883795
1995 -55.15197732
2000 -2.791939821
2000 94.36405614
1996 1.715943104
1996 -15.99050949
1995 7.084182461
1999 48.20911489
2000 -1.690500543
1998 20.73036055
1999 2.382209335
1999 81.82785203
1998 4.632493177
1999 79.18690329
2000 4.265002248
1997 8.716612893
2000 -1.933797592
1997 9.776528973
1996 9.586495115
1995 -34.80751383
1999 2.902462712
1995 -123.4379233
2000 -0.113316963
1999 51.83061756
1996 -3.138433553
1996 -8.579274118
1995 12.43569938
1998 29.49652235
1999 5.072250082
1998 31.00392656
1996 14.02163361
1998 29.77927183
1995 5.854769065
1995 -0.332291393
1996 4.310289808
1998 14.89169436
2000 9.11539282
1995 -32.60983349
1995 1.23558329
1999 66.74376328
1998 9.126320534
2000 74.42024236
2000 2.768304644
1996 1.317653988
1996 3.616327759
1998 6.153595838
2000 3.820621744
1999 52.52128516
1998 5.227023809
1996 -28.76875757
1999 1.88251742
2000 22.63925062
1998 9.357838638
1997 4.377925043
1999 -31.39838746
1997 3.479138443
1995 6.4344428
1999 81.91888561
1995 -5.00517532
2000 87.75675453
1999 0.668971541
1999 42.89307458
1998 -0.25741331
1999 46.9650731
1996 5.109280179
1999 44.46779255
1998 5.835074356
2000 58.69225991
2000 4.259486885
1999 60.44234002
1999 5.391743927
1999 44.22982055
1995 5.083943792
1999 63.78274764
1997 -4.586930748
1996 6.934413109
1996 1.999733958
1998 35.583346
1996 6.550343102
1999 53.29870629
1998 -4.031809623
1998 29.26947268
1995 13.98166219
1998 38.02012177
1995 -1.779455839
1998 13.04417211
1999 8.595724963
1996 -23.57599155
1995 9.408332464
1998 21.60369911
1995 2.418649808
1996 -8.875587155
1995 0.84848899
1997 10.23663942
2000 10.4255799
1995 -41.84476317
1997 2.955090992
1997 9.684901864
1995 3.777298654
1995 -24.2472281
1995 2.856430274
1996 -21.3115243
1998 8.758497309
1998 23.55720468
1999 10.2915557
1999 26.93636158
1997 5.09484135
1996 -23.06286822
1997 11.7284121
1997 3.663926487
1998 7.657715488
1998 26.92150396
1997 8.242167778
2000 83.88528354
2000 14.35910063
1998 26.03361958
1996 -3.078467078
1998 32.16565485
2000 4.53894002
1995 -30.22334228
1998 8.95474732
1997 -3.068191118
1999 4.17215224
1999 35.18243524
1998 16.58198766
1999 20.42038224
1996 2.220529864
1995 -51.98354314
2000 3.792720179
1995 -47.0805223
1997 2.536075834
1996 -3.273161113
2000 8.430698111
1995 -60.92022108
1996 5.245809987
1999 25.44995121
1997 1.973093948
2000 74.74798179
1996 -3.971015443
1998 31.844203
1997 7.990692454
1997 14.46306226
1997 8.216769177
1997 -0.653965726
2000 8.12774116
1998 16.32849809
2000 8.489281449
1998 15.32725811
2000 3.40427608
1999 35.35040679
2000 8.084823806
1998 39.60532835
1996 3.029154589
1995 3.898999711
1998 3.433206815
2000 46.18380686
1995 0.18407275
2000 56.60501393
1995 3.296398861
1997 5.289876588
1997 10.49686151
1998 37.52164614
1996 8.074277343
1997 1.604384489
2000 3.193272928
2000 100.910662
1995 5.980780854
1999 34.99352056
1996 2.440025488
1996 -6.664569816
2000 5.518306019
1998 33.5175362
1996 1.221980724
1998 29.29235542
1997 9.552201656
1999 16.82837944
1997 10.85550455
1995 -58.95143294
2000 5.972732917
1998 37.27095094
1996 0.580501191
2000 30.59020532
1996 11.47445431
1997 6.454917017
2000 4.241176223
1995 -20.56484185
1996 -2.358132039
2000 102.5892078
1997 4.93681051
1996 -25.7191643
1996 -0.237243231
1998 32.81295415
1999 2.841941998
1995 2.425162215
1997 13.25054541
1996 -3.288465857
1996 5.497200923
1996 12.37997878
2000 2.39256787
1995 -20.92352237
2000 -0.52042869
2000 65.47039452
1997 7.361218493
1998 32.24267065
1999 1.814063739
1997 8.588472765
2000 14.69824966
2000 111.4019132
1998 2.125613211
2000 95.87530984
1998 6.623905319
1998 13.77365432
2000 -5.324565882
1995 -13.10425523
1998 -4.639601619
1996 -7.172084673
1998 7.276551579
1999 39.94975433
1999 2.002045721
2000 45.40992738
1999 -2.329841308
2000 36.46167394
1995 -1.064370168
1998 13.07589246
1999 9.671727361
1999 76.38678554
1999 -3.995356932
1997 -1.180578662
1996 5.903439894
1999 64.24734694
1996 13.94247538
1996 -28.58526586
1999 -3.65458074
1996 -6.258302246
1996 2.132024123
2000 65.99859393
1996 2.469129152
2000 78.38765625
2000 -0.191724894
1996 -9.16446189
2000 1.862738365
1997 5.015246902
1999 5.813834291
1997 11.61482195
1999 1.456039265
1996 5.06857715
1998 0.263716975
1997 -0.230551297
2000 4.549896452
1996 -15.1092904
2000 3.096887976
1998 28.84477737
1995 -2.413047968
1997 -2.808374977
1998 8.909440708
1999 75.10745858
1998 0.811426281
1998 18.49253228
1997 1.554702557
1999 32.13332621
1998 10.23393302
1996 -14.05257072
1996 6.749955393
2000 83.74216839
1997 7.18072208
1999 49.8652024
2000 5.735052875
2000 122.6713914
1999 4.888765349
1996 -33.48113512
1996 -2.526406548
1996 -21.06115631
2000 2.28589964
1995 -62.23296143
1996 5.520325956
1999 30.29013452
1998 5.359860448
1996 -18.22600554
2000 1.08455923
1997 3.120287271
1997 -4.725160681
1997 0.351859614
1995 12.32120762
1999 39.80818344
1999 7.153482712
2000 16.36893706
1997 4.749645649
1998 24.76437927
1995 4.173836806
1996 -13.04777876
1999 10.07905845
1999 10.56374896
1998 8.701388997
1997 9.261406615
1995 10.52344707
2000 15.02658871
2000 9.899151925
2000 32.46509623
1995 4.627622531
1997 3.427477972
1997 -0.114531949
1999 54.79281843
1999 11.87184175
1999 26.51793559
1995 -4.806054732
1996 -13.61281747
1998 -4.455251676
1996 3.58911235
1999 10.7293873
2000 79.39165983
1998 -0.181315123
2000 36.13345639
1995 0.245211924
1998 20.75518943
1997 4.020702552
1995 -56.94480322
1999 -0.43026475
1999 30.14445988
1995 5.367155756
1996 -2.98478534
1999 14.07152473
1999 12.54989646
1996 6.582390007
1995 -29.18338119
1998 0.302748427
2000 162.605728
1995 7.090929253
2000 65.98274245
1997 8.599740865
1998 10.24468744
1995 -2.47662972
1997 6.495494008
2000 11.43801297
1995 -68.81335469
2000 0.338467912
1999 51.60619341
1996 3.814071133
1996 -4.340150015
1996 11.88021259
1995 -16.09893241
1996 5.227448927
2000 63.14546019
1998 3.42798213
1998 12.86975072
2000 7.627136577
1998 8.996593444
1997 -1.133896707
1995 -45.59526348
1997 -5.82738141
2000 59.48782348
1999 -0.369825912
1997 14.36377499
1998 0.935872851
1997 7.794101815
1998 4.229884425
1996 -21.83095187
1997 2.807518063
1997 8.142011304
1996 4.339431364
2000 97.21031681
2000 -9.03378013
1997 5.175591526
1997 9.882918054
2000 100.2733229
1995 5.350845819
1997 -0.471390413
1997 1.748226063
2000 54.85062154
1999 7.532728617
1996 -25.40541308
1995 2.946401051
1997 4.46870126
1998 5.70140618
1997 -0.47897044
1997 -0.314405735
1996 -18.28368384
2000 -2.558461115
1996 -32.39054124
1996 -2.626143108
1999 38.86260311
1998 3.542115082
1999 44.99117261
1998 9.844917933
1995 -35.27952225
1999 2.579982777
1995 -51.46360829
1999 3.886526458
1999 45.57480732
1997 1.903861358
1998 21.96156585
1995 3.877194247
1999 37.83282824
1999 2.550796893
2000 38.99962363
1998 5.791765075
1997 9.525183905
1999 -3.9854539
1997 7.088230571
1999 3.913160394
1995 -80.05023962
1996 16.00861272
1998 11.51767522
1995 11.36637588
2000 91.95058583
2000 5.675339935
1999 6.12507698
1997 4.297129328
1995 -15.17668237
2000 9.01944913
1995 -37.44375615
1995 2.848990246
1997 12.72867777
1998 19.9469398
1999 43.27154416
2000 13.47341006
1997 2.983792718
1999 15.77608434
1997 6.181380382
1997 6.256568811
1997 -1.234451461
1995 -0.76808099
1996 -28.38923222
1997 7.320645399
2000 69.14646804
1996 12.22409019
1995 -11.52052421
2000 0.572357968
1995 -38.52628821
1996 4.720562174
1995 -51.32962279
2000 -0.331048587
1999 45.98259264
1999 1.753936296
1999 60.09382245
1998 1.878675089
1999 67.65129314
1996 1.626851092
1998 -8.246994766
1995 10.14739445
1998 26.64700279
1996 10.77442091
1996 -13.91800031
1999 4.410697076
1995 -51.54589431
1997 0.623064663
2000 26.33431317
1999 -0.562897612
1996 -1.256083741
1998 10.80676966
1999 23.68260558
1997 42.25457428
1996 -1.751098679
1996 7.766507098
1999 66.22520032
2000 9.733522494
1996 -23.76149632
1998 7.948729816
1998 23.6167556
2000 25.98372323
1997 1.015545213
2000 -1.484303915
1999 51.79902432
1996 6.068475244
1997 6.1128451
1996 -4.856222454
1999 80.32736878
1999 10.16821393
1995 -2.988542717
1996 -1.845002773
1999 69.30096983
1995 -1.822470594
2000 59.90999865
1998 3.036139171
1997 6.914610223
1995 3.957272135
1998 34.61949587
1997 -2.386551382
1995 7.72688358
1998 6.02399601
1999 8.342055053
1999 8.380208155
1995 -27.12501399
1996 0.218222862
1996 -24.2667544
1995 8.853339047
1999 38.58889065
1999 5.312219098
1998 4.269246865
1996 1.588455038
1999 33.86265953
2000 10.53355719
1996 -27.91755019
1995 4.416714817
1995 -41.7200813
1995 -2.28350555
1997 4.740044372
1996 8.534558078
1997 16.31542527
1995 3.76330299
1997 9.767829619
1996 6.679384779
1999 42.00458247
1995 3.274422759
1995 -33.78276482
2000 -5.375518954
1995 -5.814205816
1999 1.145267186
1998 28.33531513
1995 3.730171457
1999 37.24782742
1999 9.338914566
2000 113.7129127
1996 -5.479031955
1995 -57.09942589
2000 8.283149541
1998 28.09875603
1997 3.554276086
1999 35.23963016
1995 7.884052554
1998 26.57165015
1999 4.383345267
1998 7.061677076
1995 10.12095511
1995 -21.78295609
2000 -3.805766307
1996 -5.085820798
1998 3.889807539
1997 4.071071946
1998 9.367067344
2000 40.45389969
2000 1.545685869
1996 -20.1115884
1996 -2.716739884
1999 36.14148926
1999 4.725196597
1996 -24.22731568
2000 12.88371877
1998 14.64046298
2000 5.449414815
2000 22.15513524
1996 3.7451528
1996 5.891394864
1996 -2.907200173
1997 4.491708697
1996 3.173297641
1999 4.677315406
1998 -4.018737375
1999 40.81514212
2000 9.42541565
1995 -30.18984155
1999 4.282303437
1995 -25.22665606
1997 6.569793706
1999 79.73407604
1997 -2.229238533
1999 69.21573841
1999 15.34883702
2000 96.67501937
1998 -3.285361975
1996 -5.860979417
1999 7.943336434
1999 49.27206634
1995 10.73766614
1997 2.577020221
1996 -8.348894152
1999 34.67374061
1999 86.71193791
1999 14.50451433
2000 4.407503484
1999 7.033742609
1995 4.353385017
1995 2.436673633
1995 0.89589864
1995 -5.78840003
1995 4.362037371
1997 8.497219342
1996 0.044453248
1998 38.91568659
1997 7.967171263
1997 9.707676119
1997 10.49533748
1998 29.39807916
1999 9.756741243
1995 -54.25767659
1995 8.785381137
1998 19.77186521
1998 -66.00252793
1999 35.78270164
1999 4.496676044
1999 6.752817277
1999 5.957736512
2000 65.53757591
1996 -0.36949817
1999 56.25674392
1998 3.564993529
1999 41.62226909
2000 -5.189390934
1999 56.02365935
1995 5.160046668
1996 -8.721354726
1995 0.701075371
2000 155.7916768
1996 8.881631042
1999 23.74311156
1998 -3.995737423
1998 23.63318076
2000 1.39724201
1999 18.16018645
2000 0.993714685
1998 24.36626875
1996 -1.801322392
1996 -16.11274647
1997 3.65156748
1999 123.4598601
1999 10.80926604
1999 28.66810545
1996 -0.529297292
1999 38.72583997
1999 5.544381404
1997 7.549098544
2000 14.97549681
1999 32.88758905
1997 4.431520074
1996 3.407727449
1999 8.010814234
1995 -52.38878539
2000 0.044471578
2000 62.29889206
1998 4.239316414
1997 4.517327201
1995 6.338468067
1998 19.1542185
1995 1.426498425
2000 64.30320956
1995 0.498394602
1999 57.75924325
1999 5.904697245
1996 -7.803098595
1995 1.692724694
2000 42.90988342
2000 6.354647812
1997 -2.136239899
2000 13.61021938
1995 -19.64627946
2000 3.653467682
1997 -4.753961442
1998 8.40273377
1995 -87.09596382
2000 -0.304642089
1997 -2.489083055
1996 -0.434023001
1997 10.75901772
2000 10.40692832
2000 44.42691776
1997 9.988454459
1997 5.070549218
1999 6.174520473
1999 41.03988425
1999 5.812491863
1998 18.94088854
1996 -3.880434744
1999 22.32387849
2000 2.987312119
1995 -52.39719145
1999 7.683317554
1995 -34.58695489
1996 -4.105327278
1996 -3.708579214
1996 -6.380506982
1996 -20.69238654
1999 13.278374
1996 3.65081523
1996 5.121790026
1999 31.67471262
1996 4.3701686
1997 -41.76737011
1998 -1.904378215
1999 27.86934323
1995 6.850862174
1995 -26.68222322
1999 4.074284656
1998 23.04961778
2000 -2.1567734
1999 59.5501437
1999 8.355729866
1995 -3.707768924
1997 6.085495231
2000 30.00067139
1998 8.222448007
2000 39.62380867
2000 10.62056569
1995 -48.25915235
2000 1.875678081
1997 5.684282868
1995 3.621722939
1996 -11.38937533
2000 5.903332173
1999 44.75294777
1997 9.309538808
1996 -4.920116089
1998 7.729606753
1995 -19.52564746
1999 5.127507849
1996 -5.519613337
1999 1.214674766
1995 -30.01710617
1998 9.639181531
1998 8.00256635
1996 6.737137792
1998 19.76610322
1996 7.79325888
1998 22.17775347
1999 14.68826576
1997 9.223419893
1998 5.725443417
1997 2.927454653
1995 -2.122297094
1999 66.4878521
1997 0.94082881
1997 -0.909192522
1997 9.359220975
1999 66.98420027
1995 5.407323752
2000 92.23903485
1999 35.78803013
1998 25.10007666
1999 1.258985754
2000 26.91081493
1999 -0.953276077
1999 74.84588458
1997 5.570759178
1997 1.829188912
1997 7.755079074
1999 9.410026072
2000 9.552979412
1995 -81.45783765
2000 4.586416276
1998 24.96860187
1995 4.160593646
2000 31.77798289
1997 1.312394967
1996 -16.45107903
1998 1.904039882
1997 1.909127734
1999 4.448899907
1997 9.235833001
1999 4.605740433
1996 -11.00251943
2000 11.61749261
2000 27.6679345
2000 8.253392563
2000 72.61747018
2000 10.82319303
2000 11.78470515
1999 -5.450086467
1998 13.61445746
1999 -0.435504106
2000 86.3974741
1996 -6.010527936
1996 -29.56607604
1995 2.131349821
1999 79.20483814
1997 6.607067993
1998 21.90351834
1995 10.02599258
1995 -24.1424237
1995 1.727259573
1997 4.212308754
2000 4.161267764
1996 -22.60345971
1999 1.337850482
1995 -39.46688949
1997 1.953832646
1999 17.10791974
1997 14.50624792
1999 6.363948184
1996 -1.652779699
1997 -0.071595236
1997 3.591568916
1996 -22.727292
1995 12.54751936
2000 103.7091299
1998 7.824311101
1996 4.701747213
1995 9.580443938
1996 -28.05554195
2000 2.478579376
1996 -20.29696428
1998 7.075066107
1999 63.28178573
1997 6.456632044
1997 3.000224461
1998 -0.259670004
1996 -28.94028312
1995 1.776472824
1999 7.316709228
1998 5.553672961
1998 14.48519036
2000 4.161138925
1995 -32.57666157
2000 11.5856112
1995 -44.83778332
1999 10.57362711
1997 3.975975971
1995 6.116736595
1996 -4.300681794
1998 4.002649566
1999 61.56604444
2000 -6.392923664
2000 36.81413658
1996 4.375840677
1998 24.13083452
1998 2.227464539
2000 52.34817056
1995 6.420266649
1998 39.85762943
1997 6.044617532
1998 27.16148049
2000 3.200749174
1995 -41.65456235
2000 7.002220904
1996 -33.59003156
1995 5.452329574
1995 -28.55858388
2000 6.070460023
1997 9.302468362
1996 46.50686969
1995 -25.76447255
1997 10.53208137
2000 118.7808555
1998 -49.89926501
1999 17.32784355
1998 9.173815477
1999 -0.278395529
2000 10.37255006
1998 43.41209991
1996 4.690275179
1995 -35.04430394
1996 -0.465792659
1996 -9.5837779
1999 -1.875589922
1999 57.24765842
1996 11.97086207
1996 -25.96348843
1996 6.466306364
2000 92.01281281
2000 8.101295752
2000 89.99698339
1995 6.044814573
1995 -28.85957621
1995 -0.11504447
1995 -56.31181518
1996 3.453046543
1999 33.08593492
1995 10.25852566
1998 8.709365807
1995 8.520453666
2000 78.27206202
1999 6.03833295
2000 55.94818976
1995 1.511353276
1995 -59.23530652
1998 10.35028519
2000 67.03544914
1996 30.0202792
2000 59.97027844
2000 5.648706159
2000 109.5577254
1997 8.994170587
1999 6.313883367
1998 11.51912645
1998 48.85212591
1995 8.499576718
1998 44.32655246
1997 3.541621457
1999 72.76937954
1996 -0.68598543
1995 -49.72240362
1995 13.30920289
1999 79.95835418
1998 2.444006868
1996 -18.34319805
1995 9.092312167
1997 -4.24565694
1999 5.373374324
1996 -18.58123605
1998 12.17595751
1998 21.67828317
1996 -0.649179109
1998 13.309024
1995 53.65858243
1995 9.461889843
1997 -6.080816506
2000 111.6278542
1999 4.854644879
2000 75.57836675
1996 7.068528598
1998 17.87313656
2000 7.655377038
1998 26.11965809
1998 2.751757485
1997 0.683846858
1998 -0.150701247
2000 99.47580993
1997 17.02585842
1999 16.1291307
1997 4.073758205
1995 -55.44392374
1995 -1.205202791
1999 82.34262951
1998 7.29868382
1999 15.77824191
1999 3.737970696
1996 -8.565555305
1995 9.082715925
1995 -35.54559069
1998 6.520462193
1996 -31.44382846
1996 6.468612909
2000 58.67705221
1999 14.82557011
1996 -10.03043519
1995 7.916013856
1997 9.084555614
2000 0.877474618
1995 -31.04995446
1995 8.945741422
2000 85.69201429
1999 5.029442439
1997 -7.694734479
1996 9.862389996
1996 -29.37946761
1999 9.78029383
1999 57.86030287
1996 -2.547044008
1996 -18.80248029
2000 0.518056462
1997 13.03656335
1999 -0.793177135
1997 9.977907751
1995 16.97945828
1997 3.900524932
1998 2.88744094
1999 47.01288921
1999 -1.904261511
1998 26.60061174
1997 6.618917605
1995 -31.99474689
1998 25.31316807
1995 -12.28983035
1996 3.674714036
1999 38.7378537
2000 1.592941803
1998 18.28332059
2000 5.405913368
1998 5.162379165
1995 8.581987292
1999 -9.125553278
1999 2.020658087
2000 67.54568866
1997 7.67882973
1995 -66.80693131
1998 3.814134802
2000 53.64332707
2000 7.767480135
1997 -2.104788799
1999 3.96226287
1999 5.630417461
1997 -11.16911962
2000 54.99768519
1997 15.32851263
2000 13.27427658
1999 6.447356229
2000 83.45717087
1999 -32.22102111
1997 0.200768191
2000 2.400018713
1995 -72.28513898
1999 2.481192951
2000 112.0759291
1995 -40.64041099
1999 -32.02019216
2000 6.691649976
1997 -0.721919409
1996 11.11507505
1998 11.9933907
1998 10.85606013
1996 -12.39041776
1998 10.28807056
1995 -31.48472527
1999 3.40701507
1996 -13.23901697
1999 3.630301795
1998 29.4882119
1998 0.069029404
2000 26.38264264
1998 -1.353344436
1996 -16.186075
1998 3.709382723
2000 52.16695078
1999 11.18936622
1997 -1.51367721
1996 6.085268028
1996 -22.27944491
1997 5.562739213
2000 22.68070089
1995 0.916986422
1999 61.83538642
1997 9.687344737
1999 38.07494733
1997 4.317952681
1997 14.19248881
1999 7.761942148
1995 -11.33936025
2000 -3.872447073
1995 -27.23730817
1999 4.643838413
2000 57.50905314
1997 9.887735368
1999 11.9037713
1995 17.72525379
2000 45.96562389
1999 2.983302757
2000 96.62293636
1997 1.332971568
1999 15.64408135
1999 7.584731875
2000 51.3881651
1999 3.450499737
1995 -58.79823305
1998 5.1994312
1996 -17.68656401
1997 9.993653449
1995 -45.97383439
1998 10.8953433
1995 15.44450742
2000 1.951609723
1999 71.76720374
2000 9.364556185
1998 29.30229249
1996 9.905855437
1996 -3.259718672
1999 11.98591342
1997 6.661154029
1999 -2.625066499
1996 -19.77225663
2000 8.641742289
1997 -7.605320321
1999 -1.208473941
1997 6.072265961
1999 4.318780382
1997 2.347808186
1996 6.458789118
2000 62.42923534
1996 10.70293521
1997 6.938438772
1996 2.463098214
1999 46.95067988
1995 1.785726897
1996 9.544463176
2000 -0.225325958
1998 21.71302571
1996 5.358623957
1995 -20.50958044
1999 7.621189388
1998 23.36724416
2000 8.010224952
1999 42.3377854
1998 10.49922001
1998 23.77390513
1995 6.879571711
1995 -85.06056034
1996 10.02994888
1999 38.61063476
1997 -0.07969376
1999 38.57373497
1999 5.686648276
1996 -6.989024489
1996 6.514920824
2000 57.09320852
1996 11.6448799
1998 23.98109009
2000 -2.486501877
1995 -13.61037199
1998 6.796175179
1995 -45.13666091
1996 6.110594759
1996 1.773134866
1996 5.025210323
2000 103.1780116
1998 6.346112847
1996 -1.323157614
1999 -1.497081785
2000 55.90998746
1997 -8.421315758
1997 8.634894163
1999 2.17923521
2000 59.37244193
1995 5.824535726
1995 -13.7914228
1995 10.78317885
2000 57.73799281
2000 7.962256679
1998 29.16140782
2000 2.157016524
1995 -10.39008512
1995 2.021090033
1996 -5.836101492
2000 5.749090076
1998 1.113196547
1998 -1.836399801
1996 -18.26743286
1996 0.129632679
2000 73.16620072
1999 8.93373757
1998 9.574731926
1998 -1.288065363
1997 9.860289499
1995 -6.341609003
1997 5.668143468
1997 9.629949917
1995 -33.46129278
1996 -0.637930711
2000 55.05703285
1997 7.584853141
1997 9.597374179
2000 7.814458672
1998 19.9892498
1998 -0.704241715
2000 122.6973044
1998 0.985025914
1997 14.47177201
1996 13.41896648
1997 -1.2950564
1999 1.04257169
1995 -29.19061809
1996 13.70112567
1999 12.44654216
1997 8.308729161
1999 55.48481292
1999 2.007472716
1997 9.590397434
1999 6.74730134
2000 57.08455915
1998 6.63327517
1996 -7.577329642
1997 4.707438696
2000 90.35089808
1995 8.747949974
1997 6.382000666
1996 11.79647757
1998 17.14940019
1995 1.106530081
2000 91.46148953
2000 3.227793273
1997 4.674008233
1996 6.842983594
1997 21.55060254
1998 4.666326788
2000 39.62656974
1997 11.02224721
1996 -9.100695699
1998 3.910951875
1996 3.689972369
1995 6.815546103
1995 -53.97259509
1996 8.115120257
1995 -50.62289044
2000 7.591494985
1995 -69.27150694
1999 -8.647277311
1997 3.527251924
1999 2.835834748
1995 -47.96512805
1998 41.72993283
1999 33.94437774
1998 1.376782256
1999 26.56020629
2000 4.721204267
1999 40.13123822
2000 -1.187089633
1998 20.18425605
2000 5.488079656
1998 40.72745968
1996 1.819321916
1998 32.30362265
1995 3.185927192
1999 50.01089765
1998 9.707985236
1999 42.32588406
1998 2.621221738
1999 80.09891309
1997 0.71845677
1995 -58.18793452
1999 -0.931847514
1999 30.1686981
1997 10.57954624
1997 8.954854208
2000 -1.485360913
1999 44.65376807
1997 4.645674096
2000 107.2831363
1998 2.268111721
1998 11.46570239
1998 5.840138809
2000 75.62852615
2000 2.948084021
1997 1.531855097
1999 4.509855666
1995 -23.93983485
1997 -0.273150147
1998 27.25836183
1995 2.63131301
1999 47.80200611
1995 6.893927714
1999 37.85068962
1997 1.922659724
1999 66.60111531
1996 5.046253949
1995 -69.19470289
1998 7.955932948
1995 -32.98932213
1997 0.845580098
1997 15.90738616
1997 4.689971595
1999 50.73472124
1996 -0.092848234
1997 1.288499215
1997 8.061976645
1997 6.218538684
1995 6.862804591
1997 3.114310539
2000 10.30602727
2000 89.63997801
1997 7.604680152
1999 48.70289616
1997 1.179189018
1996 4.02514938
2000 11.85439244
1999 10.27089132
1997 6.924926466
1995 -37.57547408
2000 6.783720058
2000 79.72208337
1995 -29.81504358
1999 34.67656934
2000 2.98148792
1995 -15.77864708
1996 10.55998939
1995 -24.33419319
1995 2.55794514
1998 22.50709245
1995 9.202340968
1995 -36.24530364
1995 8.526067014
1997 7.59156932
1995 -6.359977723
1999 15.78495691
1998 15.55869666
1999 61.38287201
1995 8.072192637
1995 -32.72949009
1999 7.207193764
1997 3.750286793
1996 8.168746664
1995 -14.60934387
1998 -3.491566814
1999 38.42652968
1996 5.799504541
1995 -57.88572473
1995 1.325149952
1999 53.72221239
1997 10.29233169
1996 -5.89333555
2000 4.872034972
1996 -24.8021578
1995 -1.171645934
1995 -45.33684036
1997 8.762432885
1998 14.57905427
2000 2.151998489
1998 18.03857518
1997 9.002406265
1997 11.14361589
1998 10.37052253
2000 62.94200878
1998 76.07082589
1998 18.03864084
1995 -8.25027946
1997 9.900643723
1995 6.37611985
1995 -48.07091347
1996 2.656258113
1996 -1.537595739
1999 5.295057825
2000 111.5786942
1999 6.666093653
2000 31.24849133
1995 5.642324644
1998 22.15324725
1998 11.93124923
1995 -20.82481124
2000 3.922006999
2000 61.6541473
2000 11.74028791
1998 33.18043635
1999 1.56018796
1995 -20.83254655
1998 5.930949646
2000 82.63242867
1995 6.571831057
1996 -19.90325767
1999 13.6327346
1999 27.32506383
2000 -13.82649327
1999 -8.488838578
1998 7.167991843
1998 24.34700966
1997 0.864891474
1998 24.81933473
1995 9.601523493
1995 -13.34911154
1995 3.719332538
1999 73.93214556
1999 11.97226742
1999 53.71134362
1998 3.617636457
2000 36.7489526
1995 5.173145756
2000 56.57818508
2000 5.774066727
1995 -57.81232682
1996 8.582081269
1997 9.821756352
1996 12.07203696
1998 13.29987142
1998 11.06788399
1995 -37.35974009
1996 -5.479083977
1999 48.00001233
1997 2.931924043
1996 -12.75731897
1995 14.37418566
1995 -25.59575532
1996 3.874476257
1997 1.636814861
1997 4.133445117
2000 29.21834348
1998 4.454591204
1995 -12.42347076
1998 1.412382955
1995 -61.84686144
1999 1.492599664
1998 34.38890334
1998 11.60526556
1995 -56.68921925
1998 11.75512958
1997 8.218146308
1998 4.032865516
1997 12.64737152
1997 11.54125384
1997 -0.041121206
1999 4.33734374
1997 5.889134542
1997 30.72083599
2000 31.01354384
1997 3.957587048
1997 5.769442343
1997 -9.589258796
1996 -16.46689661
1998 -0.254688085
1998 18.87329722
1999 3.016335868
1998 31.30656513
1995 3.729725323
1999 46.27957187
1999 -2.735289645
1999 52.87237452
1997 5.886244624
1996 -2.862734351
1996 3.601373352
1995 -63.95847972
1998 5.651981902
1999 22.23713439
1999 9.210012452
1998 25.45879767
1997 5.030459138
1996 -23.10492782
1997 3.396200948
1999 43.54180467
1999 9.186056683
2000 59.54830482
2000 3.262199187
1999 41.09065303
1999 0.341276166
1998 28.78996256
1997 0.29135014
1995 -51.31566015
2000 6.806323279
1997 9.24850659
2000 6.82513445
1996 9.097240583
1998 1.110647161
1996 -5.95975214
2000 3.132616094
1998 19.97248866
1999 4.909282728
1996 -7.987375874
1998 0.74633305
1996 -11.79608399
1998 10.61058337
2000 47.08315931
1995 8.630675047
1996 -23.76184668
2000 4.816773037
2000 105.4476352
1995 8.019299105
1997 9.419587623
2000 4.607580123
1996 -23.50171062
1995 11.1069863
2000 0.291860073
1997 2.257988129
1996 -27.79810407
1998 7.310922429
1998 51.1378945
1997 7.778093942
1996 -13.92975322
1999 6.630158404
1995 -93.05819344
1995 4.643440483
1995 -40.14916769
2000 11.01115529
1998 9.406053721
1996 11.49961078
1996 -23.85328217
1997 5.901106997
1998 16.13845679
1995 9.053207419
1997 15.58773777
1995 4.934619606
1999 53.35940556
2000 5.430962137
1996 -7.832975888
1997 11.09416016
1995 -22.48088508
1995 9.91203999
1995 -27.97107146
1995 2.458831584
1998 47.50056985
1995 1.753205456
1996 -15.53502638
1999 1.592498316
1999 58.64295675
1996 7.585796551
1995 -49.87445726
1997 9.191867907
1997 7.711089574
1997 0.136255822
1998 37.3742389
2000 7.216934214
1997 15.44099476
1999 12.57178779
1998 19.13216735
2000 7.271141221
1998 33.78249024
1999 7.959453078
1997 -3.69221025
1999 -1.050139716
1998 22.63648957
1995 -3.220714118
1995 -66.99396218
1996 0.706268129
1999 34.42778287
1996 14.94704566
1995 -41.15743733
2000 1.047573143
2000 62.56475657
2000 9.699131968
2000 78.50009594
1996 0.296520249
1995 -37.07912255
2000 9.431624912
1996 -19.40107618
1996 8.987766374
1999 26.51040696
1996 -0.037937863
1997 13.6993496
1997 3.400897953
1997 1.735247086
1996 8.356527518
1995 -11.63433507
1998 3.623928181
1997 6.441188353
2000 4.698337039
1995 -28.16302136
1997 4.742923355
1995 -11.15085689
1998 15.59725923
1999 50.26773413
1995 6.052784219
1997 -6.108712984
1997 5.376992126
1996 -28.56553707
1996 -8.487479422
1999 49.37001672
1995 -7.079413827
1995 -48.17700746
1998 2.437140497
1999 43.4094301
2000 1.598687771
1998 9.882451145
1995 5.775323343
2000 103.2955798
1997 2.178954681
1999 60.7984597
1995 6.074881088
2000 7.472182259
1999 0.909945283
1997 3.194836658
2000 10.36218975
2000 82.65372453
1995 8.128184162
1995 -45.71776501
1995 7.56727355
1999 73.59957477
1998 10.79309011
1998 13.96156712
2000 10.22196387
1998 29.53403145
1997 7.019224186
1997 1.062363526
2000 1.963541549
1999 83.72805506
1996 3.215498779
1996 10.06995461
2000 6.02658357
1999 75.70915414
1997 5.059696122
1997 10.87138934
1996 4.55601715
1996 -5.342362012
1996 0.063574534
1998 12.10139784
1995 2.553177852
1996 5.290855145
1995 10.05106218
1995 -71.49187737
1998 12.93418926
1998 26.57115124
1998 7.643066914
1997 0.749678284
1996 1.354065432
1999 37.4834942
2000 3.02094233
1996 -9.279704881
1995 5.486898745
1999 63.25645239
1996 11.40284827
2000 110.2109835
1996 6.400315986
1995 -18.47017819
1996 5.684136727
1998 28.3252113
1997 2.309519348
1998 29.94950154
1998 10.97613184
1998 32.83354953
1997 2.299303964
1995 -42.61888381
1998 -1.764301321
1995 0.49980189
1996 9.779121398
1998 28.66493317
2000 -1.213243558
1998 46.21064529
1999 8.037890768
1998 10.34681644
1995 4.445436344
1998 39.69198696
1998 11.66143851
1998 29.09907392
1998 10.89785488
1996 -5.311572158
2000 -2.633642612
1997 6.915952454
1998 5.787454148
2000 59.63103881
1996 6.225255825
1999 53.36635249
2000 -0.481088463
1998 22.39538637
2000 5.043880284
1999 14.22090102
1999 0.481271604
1997 8.230657221
1997 7.484203543
1998 48.20556094
1997 4.312604052
1996 -7.77232082
1995 -3.386141398
1996 -20.10430158
1996 17.39792768
1998 26.09814962
1997 -0.402134139
2000 113.592295
1995 1.47033577
1997 5.574108671
1997 4.442495072
1999 10.01106683
1997 -3.162369372
1996 -6.051635219
1999 5.932125691
1996 -15.29857566
1995 3.089796908
1996 -13.53976494
2000 6.924119616
1999 40.52108643
2000 7.425625523
1997 8.030698728
1999 7.786023536
1996 -37.97329031
1997 -1.836067366
1999 54.35902831
1995 6.184573892
1999 65.84887724
2000 5.228415127
1999 34.41538492
2000 -10.60454731
1996 -26.21055267
1998 5.271010025
1996 -11.59461627
1997 14.63313933
1999 39.83863829
1997 11.46880887
1997 1.358800565
1997 -1.611321568
1996 -21.09926436
1997 5.990259394
2000 21.21786357
1999 9.137303465
1999 81.93588745
1998 -2.363764698
1998 25.9617413
1999 1.663147954
1997 7.572636299
1999 10.38960667
1999 68.10815966
1997 0.682800506
1996 11.13167199
1998 11.99785602
1997 4.894329688
1996 18.58371573
1997 -2.380652409
1996 11.10611055
1999 83.97135468
1999 2.136652078
1999 32.47282367
1995 -6.271859391
1996 -11.59496286
1997 5.935527496
2000 35.59449537
1997 6.814166603
2000 123.9756446
/*Primary Chart*/
/*Nested divs for responsiveness*/
.chart-wrapper {
max-width: 800px; /*Overwritten by the JS*/
min-width: 304px;
margin-bottom: 8px;
background-color: #FAF7F7;
}
.chart-wrapper .inner-wrapper {
position: relative;
padding-bottom: 50%; /*Overwritten by the JS*/
width: 100%;
}
.chart-wrapper .outer-box {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
}
.chart-wrapper .inner-box {
width: 100%;
height: 100%;
}
.chart-wrapper text {
font-family: sans-serif;
font-size: 13px;
}
.chart-wrapper .axis path,
.chart-wrapper .axis line {
fill: none;
stroke: #888;
stroke-width: 2px;
shape-rendering: crispEdges;
}
.chart-wrapper .y.axis .tick line {
stroke: lightgrey;
opacity: 0.6;
stroke-dasharray: 2,1;
stroke-width: 1;
shape-rendering: crispEdges;
}
.chart-wrapper .x.axis .domain {
display: none;
}
.chart-wrapper div.tooltip {
position: absolute;
text-align: left;
padding: 3px;
font: 11px sans-serif;
background: lightcyan;
border: 0px;
border-radius: 1px;
pointer-events: none;
opacity: 0.7;
}
/*Box Plot*/
.chart-wrapper .box-plot line {
stroke-width: 2px;
}
.chart-wrapper .box-plot circle {
fill: white;
stroke: black;
}
.chart-wrapper .box-plot .median {
stroke: black;
}
.chart-wrapper .box-plot circle.median {
/*the script makes the circles the same color as the box, you can override this in the js*/
fill: white !important;
}
.chart-wrapper .box-plot .mean {
stroke: white;
stroke-dasharray: 2,1;
stroke-width: 1px;
}
@media (max-width:500px){
.chart-wrapper .box-plot circle {display: none;}
}
/*Violin Plot*/
.chart-wrapper .violin-plot .area {
shape-rendering: geometricPrecision;
opacity: 0.4;
}
.chart-wrapper .violin-plot .line {
fill: none;
stroke-width: 1px;
shape-rendering: geometricPrecision;
}
/* Non-Chart Styles for demo*/
.chart-options {
min-width: 200px;
font-size: 13px;
font-family: sans-serif;
}
.chart-options button {
margin: 3px;
padding: 3px;
font-size: 12px;
}
.chart-options p {
display: inline;
}
@media (max-width:500px){
.chart-options p {display: block;}
}
function makeDistroChart(dataset, xGroup, yValue) {
/*
* dataset = the csv file
* xGroup = the name of the column to group by
* yValue = the column to use as the values for the chart
*
* */
var chart = {};
var colorFunct = d3.scale.category10(); //function () {return 'lightgrey';};
function formatAsFloat(d) {
if (d % 1 !== 0) {
return d3.format(".2f")(d);
} else {
return d3.format(".0f")(d);
}
}
function logFormatNumber(d) {
var x = Math.log(d) / Math.log(10) + 1e-6;
return Math.abs(x - Math.floor(x)) < 0.6 ? formatAsFloat(d) : "";
}
chart.yFormatter = formatAsFloat;
chart.data = dataset;
//Data management
chart.xGroup = xGroup;
chart.yValue = yValue;
chart.groupObjs = {}; //The data organized by grouping and sorted as well as any metadata for the groups
chart.objs = {mainDiv: null, chartDiv: null, g: null, xAxis: null, yAxis: null};
function updateColorFunction(colorOptions) {
/*
* Takes either a list of colors, a function or an object with the mapping already in place
* */
if (typeof colorOptions == 'function') {
return colorOptions
} else if (Array.isArray(colorOptions)) {
// If an array is provided, map it to the domain
var colorMap = {}, cColor = 0;
for (var cName in chart.groupObjs) {
colorMap[cName] = colorOptions[cColor];
cColor = (cColor + 1) % colorOptions.length;
}
return function (group) {
return colorMap[group];
}
} else if (typeof colorOptions == 'object') {
// if an object is provided, assume it maps to the colors
return function (group) {
return colorOptions[group];
}
}
}
function updateGroupWidth(boxWidth) {
// Takes the boxWidth size (as percentage of possible width) and returns the actual pixel width to use
var boxSize = {left: null, right: null, middle: null};
var width = chart.xScale.rangeBand() * (boxWidth / 100);
var padding = (chart.xScale.rangeBand() - width) / 2;
boxSize.middle = chart.xScale.rangeBand() / 2;
boxSize.left = padding;
boxSize.right = boxSize.left + width;
return boxSize;
}
function tooltipHover(name, metrics) {
var tooltipString = "Group: " + name;
tooltipString += "<br\>Max: " + formatAsFloat(metrics.max, 0.1);
tooltipString += "<br\>Q3: " + formatAsFloat(metrics.quartile3);
tooltipString += "<br\>Median: " + formatAsFloat(metrics.median);
tooltipString += "<br\>Q1: " + formatAsFloat(metrics.quartile1);
tooltipString += "<br\>Min: " + formatAsFloat(metrics.min);
return function () {
chart.objs.tooltip.transition().duration(200).style("opacity", 0.9);
chart.objs.tooltip.html(tooltipString)
};
}
function prepareData() {
/*
* Takes the dataset that is an array of objects and groups the yValues by xGroups and then sorts it
* Returns the groupObj
* */
function calcMetrics(values) {
var metrics = { //These are the original non–scaled values
max: null,
upperOuterFence: null,
upperInnerFence: null,
quartile3: null,
median: null,
mean: null,
iqr: null,
quartile1: null,
lowerInnerFence: null,
lowerOuterFence: null,
min: null
};
metrics.min = d3.min(values);
metrics.quartile1 = d3.quantile(values, 0.25);
metrics.median = d3.median(values);
metrics.mean = d3.mean(values);
metrics.quartile3 = d3.quantile(values, 0.75);
metrics.max = d3.max(values);
metrics.iqr = metrics.quartile3 - metrics.quartile1;
//The inner fences are the closest value to the IQR without going past it (assumes sorted lists)
var LIF = metrics.quartile1 - (1.5 * metrics.iqr);
var UIF = metrics.quartile3 + (1.5 * metrics.iqr);
for (var i = 0; i <= values.length; i++) {
if (values[i] < LIF) {
continue;
}
if (!metrics.lowerInnerFence && values[i] >= LIF) {
metrics.lowerInnerFence = values[i];
continue;
}
if (values[i] > UIF) {
metrics.upperInnerFence = values[i - 1];
break;
}
}
metrics.lowerOuterFence = metrics.quartile1 - (3 * metrics.iqr);
metrics.upperOuterFence = metrics.quartile3 + (3 * metrics.iqr);
if (!metrics.lowerInnerFence) {
metrics.lowerInnerFence = metrics.min;
}
if (!metrics.upperInnerFence) {
metrics.upperInnerFence = metrics.max;
}
return metrics
}
var current_x = null;
var current_y = null;
var current_row;
//Group the values
for (current_row = 0; current_row < chart.data.length; current_row++) {
current_x = chart.data[current_row][chart.xGroup];
current_y = chart.data[current_row][chart.yValue];
if (chart.groupObjs.hasOwnProperty(current_x)) {
chart.groupObjs[current_x].values.push(current_y);
} else {
chart.groupObjs[current_x] = {};
chart.groupObjs[current_x].values = [current_y];
}
}
var cName;
// Sort them
for (cName in chart.groupObjs) {
chart.groupObjs[cName].values.sort(d3.ascending);
chart.groupObjs[cName].metrics = {};
chart.groupObjs[cName].metrics = calcMetrics(chart.groupObjs[cName].values);
}
}
prepareData();
chart.update = function () {
if (!chart.objs.g) {
return false;
}
// Update chart size
chart.width = parseInt(chart.objs.chartDiv.style("width"), 10) - (chart.margin.left + chart.margin.right);
chart.height = parseInt(chart.objs.chartDiv.style("height"), 10) - (chart.margin.top + chart.margin.bottom);
chart.xScale.rangeBands([0, chart.width]);
chart.yScale.range([chart.height, 0]);
//Update axes
chart.objs.g.select('.x.axis').attr("transform", "translate(0," + chart.height + ")").call(chart.objs.xAxis)
.selectAll("text")
.attr("y", 5)
.attr("x", -5)
.attr("transform", "rotate(-45)")
.style("text-anchor", "end");
chart.objs.g.select('.x.axis .label').attr("x", chart.width / 2);
chart.objs.g.select('.y.axis').call(chart.objs.yAxis.innerTickSize(-chart.width));
chart.objs.g.select('.y.axis .label').attr("x", -chart.height / 2);
chart.objs.chartDiv.select('svg').attr("width", chart.width + (chart.margin.left + chart.margin.right)).attr("height", chart.height + (chart.margin.top + chart.margin.bottom));
return chart;
};
chart.bind = function (selector, chartOptions) {
/*
* Setup chart and connect it to the correct div
*
* Selector is the id to attach the chart to
* chartOptions = list of chart options
* scale = linear (vs log)
* chartSize
* – chart_width = 800
* – chart_height = 400
* margin = {top: 15, right: 60, bottom: 30, left: 50};
* constrainExtremes True/False, if true max is then the max of the lower fences
* axisLabels = Labels for the chart
*
*/
//Get base data
function getBaseData() {
if (chartOptions && chartOptions.margin) {
chart.margin = margin;
} else {
chart.margin = {top: 15, right: 40, bottom: 35, left: 50};
}
if (chartOptions && chartOptions.chartSize) {
chart.divWidth = chartOptions.chartSize.width;
chart.divHeight = chartOptions.chartSize.height;
} else {
chart.divWidth = 800;
chart.divHeight = 400;
}
chart.width = chart.divWidth - chart.margin.left - chart.margin.right;
chart.height = chart.divHeight - chart.margin.top - chart.margin.bottom;
if (chartOptions && chartOptions.axisLabels) {
chart.xAxisLable = chartOptions.axisLabels.xAxis;
chart.yAxisLable = chartOptions.axisLabels.yAxis;
} else {
chart.xAxisLable = xGroup;
chart.yAxisLable = yValue;
}
if (chartOptions && chartOptions.scale === 'log') {
chart.yScale = d3.scale.log();
chart.yFormatter = logFormatNumber;
} else {
chart.yScale = d3.scale.linear();
}
if (chartOptions && chartOptions.constrainExtremes === true) {
var fences = [];
for (var cName in chart.groupObjs) {
fences.push(chart.groupObjs[cName].metrics.lowerInnerFence);
fences.push(chart.groupObjs[cName].metrics.upperInnerFence);
}
chart.range = d3.extent(fences);
} else {
chart.range = d3.extent(chart.data, function (d) {
return d[chart.yValue];
});
}
// Take the options colors argument and update the colors function
if (chartOptions && chartOptions.colors) {
colorFunct = updateColorFunction(chartOptions.colors);
}
chart.yScale.range([chart.height, 0]).domain(chart.range).clamp(true);
// Get x range
chart.xScale = d3.scale.ordinal().domain(Object.keys(chart.groupObjs)).rangeBands([0, chart.width]);
//Build Axes
chart.objs.yAxis = d3.svg.axis()
.scale(chart.yScale)
.orient("left")
.tickFormat(chart.yFormatter)
.outerTickSize(0)
.innerTickSize(-chart.width + (chart.margin.right + chart.margin.left));
chart.objs.xAxis = d3.svg.axis().scale(chart.xScale).orient("bottom").tickSize(5);
}
getBaseData();
chart.objs.mainDiv = d3.select(selector)
.style("max-width", chart.divWidth + "px");
// Add all the divs to make it centered and responsive
chart.objs.mainDiv.append("div")
.attr("class", "inner-wrapper")
.style("padding-bottom", (chart.divHeight / chart.divWidth) * 100 + "%")
.append("div").attr("class", "outer-box")
.append("div").attr("class", "inner-box");
// Capture the inner div for the chart (where the chart actually is)
chart.chartSelector = selector + " .inner-box";
chart.objs.chartDiv = d3.select(chart.chartSelector);
d3.select(window).on('resize.' + chart.chartSelector, chart.update);
// Create the svg
chart.objs.g = chart.objs.chartDiv.append("svg")
.attr("class", "chart-area")
.attr("width", chart.width + (chart.margin.left + chart.margin.right))
.attr("height", chart.height + (chart.margin.top + chart.margin.bottom))
.append("g")
.attr("transform", "translate(" + chart.margin.left + "," + chart.margin.top + ")");
chart.objs.axes = chart.objs.g.append("g").attr("class", "axis");
// Show axis
chart.objs.axes.append("g")
.attr("class", "x axis")
.attr("transform", "translate(0," + chart.height + ")")
.call(chart.objs.xAxis);
chart.objs.axes.append("g")
.attr("class", "y axis")
.call(chart.objs.yAxis)
.append("text")
.attr("class", "label")
.attr("transform", "rotate(-90)")
.attr("y", -42)
.attr("x", -chart.height / 2)
.attr("dy", ".71em")
.style("text-anchor", "middle")
.text(chart.yAxisLable);
//Add the tooltip div
chart.objs.tooltip = chart.objs.mainDiv.append('div').attr('class', 'tooltip');
// Add hover tooltip
for (var cName in chart.groupObjs) {
//Add mouseover
chart.groupObjs[cName].g = chart.objs.g.append("g").attr("class", "group");
chart.groupObjs[cName].g.on("mouseover", function () {
chart.objs.tooltip.style("display", null).style("left", (d3.event.pageX) + "px").style("top", (d3.event.pageY - 28) + "px");
}).on("mouseout", function () {
chart.objs.tooltip.style("display", "none");
}).on("mousemove", tooltipHover(cName, chart.groupObjs[cName].metrics))
}
chart.update();
return chart;
};
chart.renderViolinPlot = function (chartOptions) {
/*
* Options
* - showArea True/False (default True)
* - showLine True/False (default True)
* - resolution, number of bins
* - boxWidth (wider or not)
*/
chart.violinPlots = {};
chart.violinPlots.plots = {};
chart.violinPlots.violinOptions = chartOptions;
var vOpts = chart.violinPlots.violinOptions;
// Violin Calculations
chart.violinPlots.calculateNumBins = function (cGroup) {
var iqr;
if (chart.boxPlots) {
iqr = chart.groupObjs[cGroup].metrics.iqr
} else {
var quartile1 = d3.quantile(chart.groupObjs[cGroup].values, 0.25);
var quartile3 = d3.quantile(chart.groupObjs[cGroup].values, 0.75);
iqr = quartile3 - quartile1;
}
return Math.max(Math.round(2 * (iqr / Math.pow(chart.groupObjs[cGroup].values.length, 1 / 3))), 50)
};
function prepareViolin() {
/*
* Takes the structured data and calculates the box plot numbers
* */
var cName;
for (cName in chart.groupObjs) {
chart.groupObjs[cName].violin = {};
chart.groupObjs[cName].violin.objs = {};
chart.groupObjs[cName].violin.histogramFunct = d3.layout.histogram().frequency(1);
}
}
prepareViolin();
chart.violinPlots.change = function (updateOptions) {
/*
* Same options as on renderViolin
*/
if (updateOptions) {
for (var key in updateOptions) {
vOpts[key] = updateOptions[key]
}
}
mapObjects(true);
chart.violinPlots.update()
};
chart.violinPlots.update = function () {
var cName, cViolinPlot;
for (cName in chart.groupObjs) {
cViolinPlot = chart.groupObjs[cName].violin;
if (vOpts && vOpts.resolution) {
cViolinPlot.histogramFunct.bins(vOpts.resolution);
} else {
cViolinPlot.histogramFunct.bins(chart.violinPlots.calculateNumBins(cName));
}
cViolinPlot.histogramData = cViolinPlot.histogramFunct(chart.groupObjs[cName].values);
// Get the box size
var groupWidth = {left: null, right: null, middle: null};
if (vOpts && vOpts.violinWidth) {
groupWidth = updateGroupWidth(vOpts.violinWidth)
} else {
groupWidth = updateGroupWidth(100)
}
var leftBound = chart.xScale(cName) + groupWidth.left;
var rightBound = chart.xScale(cName) + groupWidth.right;
var width = (rightBound - leftBound) / 2;
var xV = chart.yScale.copy();
var yV = d3.scale.linear()
.range([width, 0])
.domain([0, Math.max(chart.range[1], d3.max(cViolinPlot.histogramData, function (d) {
return d.y;
}))])
.clamp(true);
var area = d3.svg.area()
.interpolate('basis')
.x(function (d) {
return xV(d.x);
})
.y0(width)
.y1(function (d) {
return yV(d.y);
});
var line = d3.svg.line()
.interpolate('basis')
.x(function (d) {
return xV(d.x);
})
.y(function (d) {
return yV(d.y);
});
if (cViolinPlot.objs.left.area) {
cViolinPlot.objs.left.area
.datum(cViolinPlot.histogramData)
.attr("d", area);
}
if (cViolinPlot.objs.left.line) {
cViolinPlot.objs.left.line
.datum(cViolinPlot.histogramData)
.attr("d", line);
}
if (cViolinPlot.objs.right.area) {
cViolinPlot.objs.right.area
.datum(cViolinPlot.histogramData)
.attr("d", area);
}
if (cViolinPlot.objs.right.line) {
cViolinPlot.objs.right.line
.datum(cViolinPlot.histogramData)
.attr("d", line);
}
cViolinPlot.objs.left.g.attr("transform", "rotate(90,0,0) translate(0,-" + leftBound + ") scale(1,-1)");
cViolinPlot.objs.right.g.attr("transform", "rotate(90,0,0) translate(0,-" + rightBound + ")");
}
};
function mapObjects(clear) {
var cName, cViolinPlot;
if (vOpts && vOpts.colors) {
chart.violinPlots.color = updateColorFunction(vOpts.colors);
} else {
chart.violinPlots.color = colorFunct
}
for (cName in chart.groupObjs) {
cViolinPlot = chart.groupObjs[cName].violin;
if (clear) {
cViolinPlot.objs.g.remove()
}
cViolinPlot.objs.g = chart.groupObjs[cName].g.append("g").attr("class", "violin-plot");
cViolinPlot.objs.left = {area: null, line: null, g: null};
cViolinPlot.objs.right = {area: null, line: null, g: null};
cViolinPlot.objs.left.g = cViolinPlot.objs.g.append("g");
cViolinPlot.objs.right.g = cViolinPlot.objs.g.append("g");
if (!vOpts || (vOpts && vOpts.showArea !== false)) {
cViolinPlot.objs.left.area = cViolinPlot.objs.left.g.append("path")
.attr("class", "area")
.style("fill", chart.violinPlots.color(cName));
cViolinPlot.objs.right.area = cViolinPlot.objs.right.g.append("path")
.attr("class", "area")
.style("fill", chart.violinPlots.color(cName));
}
if (!vOpts || (vOpts && vOpts.showLine !== false)) {
cViolinPlot.objs.left.line = cViolinPlot.objs.left.g.append("path")
.attr("class", "line")
.attr("fill", 'none')
.style("stroke", chart.violinPlots.color(cName));
cViolinPlot.objs.right.line = cViolinPlot.objs.right.g.append("path")
.attr("class", "line")
.attr("fill", 'none')
.style("stroke", chart.violinPlots.color(cName));
}
}
}
mapObjects();
d3.select(window).on('resize.' + chart.chartSelector + '.violinPlot', chart.violinPlots.update);
//Update the divs with the proper values
chart.violinPlots.update();
return chart.violinPlots;
};
chart.renderBoxPlot = function (chartOptions) {
chart.boxPlots = {};
chart.boxPlots.chartOptions = chartOptions;
var bOpts = chart.boxPlots.chartOptions;
/*
* options:
* showOutliers: True/False (default True) - this shouldn't affect the min/max
* showWhiskers: True/False (default True)
* whiskersRatio: (default standard=iqr*1.5), other options, minmax, (future?: std)
* showBox: True/False (default True)
* showMedian: True/False (default True)
* showMean: True/False (default False)
* outlierScatter: True/False (default False) (not fully implimented)
* boxWidth (not implimented) what percent of the bin should the box take up
*/
//Create boxPlots
for (var cName in chart.groupObjs) {
chart.groupObjs[cName].boxPlot = {};
chart.groupObjs[cName].boxPlot.objs = {};
}
function calcOutliers(obj, values, metrics) {
/*
* Create lists of the outliers for each content group
*/
var cExtremes = [];
var cOutliers = [];
var cOut, idx;
for (idx = 0; idx <= values.length; idx++) {
cOut = {value: values[idx]};
if (cOut.value < metrics.lowerInnerFence) {
if (cOut.value < metrics.lowerOuterFence) {
cExtremes.push(cOut);
} else {
cOutliers.push(cOut);
}
} else if (cOut.value > metrics.upperInnerFence) {
if (cOut.value > metrics.upperOuterFence) {
cExtremes.push(cOut);
} else {
cOutliers.push(cOut);
}
}
}
obj.outliers = cOutliers;
obj.extremes = cExtremes;
}
function calcAllOutliers() {
if (!bOpts || (bOpts && bOpts.showOutliers !== false)) {
for (var cName in chart.groupObjs) {
calcOutliers(chart.groupObjs[cName].boxPlot.objs, chart.groupObjs[cName].values, chart.groupObjs[cName].metrics);
}
}
}
calcAllOutliers();
chart.boxPlots.change = function (updateOptions) {
if (updateOptions) {
for (var key in updateOptions) {
bOpts[key] = updateOptions[key]
}
}
mapObjects(true);
chart.boxPlots.update()
};
chart.boxPlots.update = function () {
var cName, cBoxPlot;
for (cName in chart.groupObjs) {
cBoxPlot = chart.groupObjs[cName].boxPlot;
// Get the box size
var groupWidth = {left: null, right: null, middle: null};
if (bOpts && bOpts.boxWidth) {
groupWidth = updateGroupWidth(bOpts.boxWidth)
} else {
groupWidth = updateGroupWidth(30)
}
var leftBound = chart.xScale(cName) + groupWidth.left;
var rightBound = chart.xScale(cName) + groupWidth.right;
var middle = chart.xScale(cName) + groupWidth.middle;
var sMetrics = {}; //temp var for scaled (plottable) metric values
for (var attr in chart.groupObjs[cName].metrics) {
sMetrics[attr] = null;
sMetrics[attr] = chart.yScale(chart.groupObjs[cName].metrics[attr]);
}
//// Box
if (cBoxPlot.objs.box) {
cBoxPlot.objs.box
.attr("x", leftBound)
.attr('width', rightBound - leftBound)
.attr("y", sMetrics.quartile3)
.attr("rx", 1)
.attr("ry", 1)
.attr("height", -sMetrics.quartile3 + sMetrics.quartile1)
}
//// Lines
if (cBoxPlot.objs.upperWhisker) {
cBoxPlot.objs.upperWhisker.fence
.attr("x1", leftBound)
.attr("x2", rightBound)
.attr('y1', sMetrics.upperInnerFence)
.attr("y2", sMetrics.upperInnerFence);
cBoxPlot.objs.upperWhisker.line
.attr("x1", middle)
.attr("x2", middle)
.attr('y1', sMetrics.quartile3)
.attr("y2", sMetrics.upperInnerFence);
cBoxPlot.objs.lowerWhisker.fence
.attr("x1", leftBound)
.attr("x2", rightBound)
.attr('y1', sMetrics.lowerInnerFence)
.attr("y2", sMetrics.lowerInnerFence);
cBoxPlot.objs.lowerWhisker.line
.attr("x1", middle)
.attr("x2", middle)
.attr('y1', sMetrics.quartile1)
.attr("y2", sMetrics.lowerInnerFence);
}
//// Median
if (cBoxPlot.objs.median) {
cBoxPlot.objs.median.line
.attr("x1", leftBound)
.attr("x2", rightBound)
.attr('y1', sMetrics.median)
.attr("y2", sMetrics.median);
cBoxPlot.objs.median.circle
.attr("cx", middle)
.attr("cy", sMetrics.median)
}
//// Mean
if (cBoxPlot.objs.mean) {
cBoxPlot.objs.mean.line
.attr("x1", leftBound)
.attr("x2", rightBound)
.attr('y1', sMetrics.mean)
.attr("y2", sMetrics.mean);
cBoxPlot.objs.mean.circle
.attr("cx", middle)
.attr("cy", sMetrics.mean);
}
//// Outliers
var pt;
if (cBoxPlot.objs.outliers) {
for (pt in cBoxPlot.objs.outliers) {
cBoxPlot.objs.outliers[pt].point
.attr("cx", middle/*+scatter()*/)
.attr("cy", chart.yScale(cBoxPlot.objs.outliers[pt].value));
}
}
if (cBoxPlot.objs.extremes) {
for (pt in cBoxPlot.objs.extremes) {
cBoxPlot.objs.extremes[pt].point
.attr("cx", middle/*+scatter()*/)
.attr("cy", chart.yScale(cBoxPlot.objs.extremes[pt].value));
}
}
}
};
function mapObjects(clear) {
// Map everything to divs
var cName, cBoxPlot;
if (bOpts && bOpts.colors) {
chart.boxPlots.colorFunct = updateColorFunction(bOpts.colors);
} else {
chart.boxPlots.colorFunct = colorFunct
}
for (cName in chart.groupObjs) {
cBoxPlot = chart.groupObjs[cName].boxPlot;
if (clear) {
cBoxPlot.objs.g.remove()
}
cBoxPlot.objs.g = chart.groupObjs[cName].g.append("g").attr("class", "box-plot");
//Plot Box (default show)
if (!bOpts || (bOpts && bOpts.showBox !== false)) {
cBoxPlot.objs.box = cBoxPlot.objs.g.append("rect")
.attr("class", "box")
.style("fill", chart.boxPlots.colorFunct(cName));
}
//Plot Median (default show)
if (!bOpts || (bOpts && bOpts.showMedian !== false)) {
cBoxPlot.objs.median = {line: null, circle: null};
cBoxPlot.objs.median.line = cBoxPlot.objs.g.append("line")
.attr("class", "median");
cBoxPlot.objs.median.circle = cBoxPlot.objs.g.append("circle")
.attr("class", "median")
.attr('r', 3)
.style("fill", chart.boxPlots.colorFunct(cName));
}
// Plot Mean (default no plot)
if (bOpts && bOpts.showMean) {
cBoxPlot.objs.mean = {line: null, circle: null};
cBoxPlot.objs.mean.line = cBoxPlot.objs.g.append("line")
.attr("class", "mean");
cBoxPlot.objs.mean.circle = cBoxPlot.objs.g.append("circle")
.attr("class", "mean")
.attr('r', 3)
.style("fill", chart.boxPlots.colorFunct(cName));
}
//Plot Whiskers (default show)
if (!bOpts || (bOpts && bOpts.showWhiskers !== false)) {
cBoxPlot.objs.upperWhisker = {fence: null, line: null};
cBoxPlot.objs.lowerWhisker = {fence: null, line: null};
cBoxPlot.objs.upperWhisker.fence = cBoxPlot.objs.g.append("line")
.attr("class", "upper whisker")
.style("stroke", chart.boxPlots.colorFunct(cName));
cBoxPlot.objs.upperWhisker.line = cBoxPlot.objs.g.append("line")
.attr("class", "upper whisker")
.style("stroke", chart.boxPlots.colorFunct(cName));
cBoxPlot.objs.lowerWhisker.fence = cBoxPlot.objs.g.append("line")
.attr("class", "lower whisker")
.style("stroke", chart.boxPlots.colorFunct(cName));
cBoxPlot.objs.lowerWhisker.line = cBoxPlot.objs.g.append("line")
.attr("class", "lower whisker")
.style("stroke", chart.boxPlots.colorFunct(cName));
}
// Plot outliers (default show)
//var scatter = function() {
// var range = chartObj.xScale.rangeBand()/3;
// return Math.floor(Math.random() * range)-range/2;
//}
if (!bOpts || (bOpts && bOpts.showOutliers !== false)) {
if (!cBoxPlot.objs.outliers) calcAllOutliers();
var pt;
if (cBoxPlot.objs.outliers.length) {
var outDiv = cBoxPlot.objs.g.append("g").attr("class", "boxplot outliers");
for (pt in cBoxPlot.objs.outliers) {
cBoxPlot.objs.outliers[pt].point = outDiv.append("circle")
.attr("class", "outlier")
.attr('r', 2)
.style("fill", chart.boxPlots.colorFunct(cName));
}
}
if (cBoxPlot.objs.extremes.length) {
var extDiv = cBoxPlot.objs.g.append("g").attr("class", "boxplot extremes");
for (pt in cBoxPlot.objs.extremes) {
cBoxPlot.objs.extremes[pt].point = extDiv.append("circle")
.attr("class", "extreme")
.attr('r', 2)
.style("stroke", chart.boxPlots.colorFunct(cName));
}
}
}
}
}
mapObjects();
d3.select(window).on('resize.' + chart.chartSelector + '.boxPlot', chart.boxPlots.update);
//Update the divs with the proper values
chart.boxPlots.update();
return chart.boxPlots;
};
return chart;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<!--http://stanford.edu/~mwaskom/software/seaborn/generated/seaborn.violinplot.html-->
<link rel="stylesheet" type="text/css" href="distrochart.css">
<!--<script src="http://d3js.org/d3.v3.js" charset="utf-8"></script>-->
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>
</head>
<body>
<div class="chart-wrapper" id="chart-distro1"></div>
<!--Sorry about all the inline JS. It is a quick way to show what options are available-->
<div class="chart-options">
<p>Box Options</p>
<button onclick="if(chart1.boxPlots.chartOptions.showBox){chart1.boxPlots.change({showBox:false})}else{chart1.boxPlots.change({showBox:true})}">Toggle Box</button>
<button onclick="if(chart1.boxPlots.chartOptions.boxWidth===30){chart1.boxPlots.change({boxWidth:10})}else{chart1.boxPlots.change({boxWidth:30})}">Change Box Width</button>
<button onclick="if(currentColor=='dark'){chart1.boxPlots.change({colors:d3.scale.category10()});currentColor='color';}else{chart1.boxPlots.change({colors:['#555']});currentColor='dark';}">Change Box Colors</button>
<button onclick="if(chart1.boxPlots.chartOptions.showMean){chart1.boxPlots.change({showMean:false})}else{chart1.boxPlots.change({showMean:true})}">Toggle Mean</button>
<button onclick="if(chart1.boxPlots.chartOptions.showMedian){chart1.boxPlots.change({showMedian:false})}else{chart1.boxPlots.change({showMedian:true})}">Toggle Median</button>
<button onclick="if(chart1.boxPlots.chartOptions.showWhiskers){chart1.boxPlots.change({showWhiskers:false})}else{chart1.boxPlots.change({showWhiskers:true})}">Toggle Whiskers</button>
<button onclick="if(chart1.boxPlots.chartOptions.showOutliers){chart1.boxPlots.change({showOutliers:false})}else{chart1.boxPlots.change({showOutliers:true})}">Toggle Outliers</button>
</div>
<div class="chart-options">
<p>Violin Options</p>
<button onclick="if(chart1.violinPlots.violinOptions.showArea){chart1.violinPlots.change({showArea:false, showLine:false});}else{chart1.violinPlots.change({showArea:true, showLine:true})}">Toggle Violin</button>
<button onclick="if(chart1.violinPlots.violinOptions.violinWidth===100){chart1.violinPlots.change({violinWidth:50})}else{chart1.violinPlots.change({violinWidth:100})}">Change Violin Width</button>
<button onclick="if(currentViolinColor=='dark'){chart1.violinPlots.change({colors:d3.scale.category10()});currentViolinColor='color';}else{chart1.violinPlots.change({colors:['#555']});currentViolinColor='dark';}">Change Violin Colors</button>
<button onclick="if(chart1.violinPlots.violinOptions.resolution===75){chart1.violinPlots.change({resolution:null})}else{chart1.violinPlots.change({resolution:75})}">Change Violin Resolution</button>
</div>
<script type="text/javascript">
var currentColor = 'dark';
var currentViolinColor = 'dark';
var chart1;
d3.csv('data.csv', function(error, data) {
data.forEach(function (d) {
d.value = +d.value;
});
chart1 = makeDistroChart(data, 'date', 'value');
chart1.bind("#chart-distro1",{chartSize:{height:420, width:960}, constrainExtremes:false, axisLabels: {xAxis: 'Years', yAxis: 'Values'}});
chart1.renderViolinPlot({violinWidth:90, colors:["#555"]});
chart1.renderBoxPlot({boxWidth:20, showOutliers:false});
});
</script>
<script src="distrochart.js" charset="utf-8"></script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment