An implementation Bandlines introduced by Stephen Few.
Last active
December 29, 2015 05:31
-
-
Save Qizly/be55235a66edbb77ffa9 to your computer and use it in GitHub Desktop.
Bandlines
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"data": [ | |
{ | |
"name": "John Johnson", | |
"insights": [ | |
{ | |
"date": "2015-10-27", | |
"metric_name": "engagement_rate", | |
"value": 0.1510782339854053 | |
}, | |
{ | |
"date": "2015-10-20", | |
"metric_name": "engagement_rate", | |
"value": 0.32256934083473143 | |
}, | |
{ | |
"date": "2015-10-13", | |
"metric_name": "engagement_rate", | |
"value": 0.17223481652232825 | |
}, | |
{ | |
"date": "2015-10-06", | |
"metric_name": "engagement_rate", | |
"value": 0.061316992861214635 | |
}, | |
{ | |
"date": "2015-09-29", | |
"metric_name": "engagement_rate", | |
"value": 0.02397961020252162 | |
}, | |
{ | |
"date": "2015-09-22", | |
"metric_name": "engagement_rate", | |
"value": 0.10029726314391679 | |
}, | |
{ | |
"date": "2015-09-15", | |
"metric_name": "engagement_rate", | |
"value": 0.14480256407232242 | |
}, | |
{ | |
"date": "2015-09-08", | |
"metric_name": "engagement_rate", | |
"value": 0.1214326690821256 | |
}, | |
{ | |
"date": "2015-09-01", | |
"metric_name": "engagement_rate", | |
"value": 0.03741305276617457 | |
}, | |
{ | |
"date": "2015-08-25", | |
"metric_name": "engagement_rate", | |
"value": 0.19072920113659492 | |
}, | |
{ | |
"date": "2015-08-18", | |
"metric_name": "engagement_rate", | |
"value": 0.11375933578406329 | |
}, | |
{ | |
"date": "2015-08-11", | |
"metric_name": "engagement_rate", | |
"value": 0.11743208126434726 | |
} | |
] | |
}, | |
{ | |
"name": "Rick Hansen", | |
"insights": [ | |
{ | |
"date": "2015-10-27", | |
"metric_name": "engagement_rate", | |
"value": 0.010440892233111869 | |
}, | |
{ | |
"date": "2015-10-20", | |
"metric_name": "engagement_rate", | |
"value": 0.0035699247163264113 | |
}, | |
{ | |
"date": "2015-10-13", | |
"metric_name": "engagement_rate", | |
"value": 0.003244370988541867 | |
}, | |
{ | |
"date": "2015-10-06", | |
"metric_name": "engagement_rate", | |
"value": 0.009781500431798977 | |
}, | |
{ | |
"date": "2015-09-29", | |
"metric_name": "engagement_rate", | |
"value": 0.02057925270026442 | |
}, | |
{ | |
"date": "2015-09-22", | |
"metric_name": "engagement_rate", | |
"value": 0.032631421883945834 | |
}, | |
{ | |
"date": "2015-09-15", | |
"metric_name": "engagement_rate", | |
"value": 0.005699686199586386 | |
}, | |
{ | |
"date": "2015-09-08", | |
"metric_name": "engagement_rate", | |
"value": 0.005343043577128521 | |
}, | |
{ | |
"date": "2015-09-01", | |
"metric_name": "engagement_rate", | |
"value": 0.005219879760847475 | |
}, | |
{ | |
"date": "2015-08-25", | |
"metric_name": "engagement_rate", | |
"value": 0.005972079061104179 | |
}, | |
{ | |
"date": "2015-08-18", | |
"metric_name": "engagement_rate", | |
"value": 0.003948799843134001 | |
} | |
] | |
}, | |
{ | |
"name": "Yumiko Harrison", | |
"insights": [ | |
{ | |
"date": "2015-10-27", | |
"metric_name": "engagement_rate", | |
"value": 0.1557649381868132 | |
}, | |
{ | |
"date": "2015-10-20", | |
"metric_name": "engagement_rate", | |
"value": 0.15812895002624164 | |
}, | |
{ | |
"date": "2015-10-13", | |
"metric_name": "engagement_rate", | |
"value": 0.20416845058618838 | |
}, | |
{ | |
"date": "2015-10-06", | |
"metric_name": "engagement_rate", | |
"value": 0.17825517644177327 | |
}, | |
{ | |
"date": "2015-09-29", | |
"metric_name": "engagement_rate", | |
"value": 0.1292443557875268 | |
}, | |
{ | |
"date": "2015-09-22", | |
"metric_name": "engagement_rate", | |
"value": 0.14662864410484688 | |
}, | |
{ | |
"date": "2015-09-15", | |
"metric_name": "engagement_rate", | |
"value": 0.14382101914044745 | |
}, | |
{ | |
"date": "2015-09-08", | |
"metric_name": "engagement_rate", | |
"value": 0.24403172103602838 | |
}, | |
{ | |
"date": "2015-09-01", | |
"metric_name": "engagement_rate", | |
"value": 0.1740229331699418 | |
}, | |
{ | |
"date": "2015-08-25", | |
"metric_name": "engagement_rate", | |
"value": 0.22473563908385666 | |
}, | |
{ | |
"date": "2015-08-18", | |
"metric_name": "engagement_rate", | |
"value": 0.14448833398955965 | |
}, | |
{ | |
"date": "2015-08-11", | |
"metric_name": "engagement_rate", | |
"value": 0.06568677391261482 | |
} | |
] | |
}, | |
{ | |
"name": "Beau Biddley", | |
"insights": [ | |
{ | |
"date": "2015-10-27", | |
"metric_name": "engagement_rate", | |
"value": 0.00883932821105596 | |
}, | |
{ | |
"date": "2015-10-20", | |
"metric_name": "engagement_rate", | |
"value": 0.011923218899963086 | |
}, | |
{ | |
"date": "2015-10-13", | |
"metric_name": "engagement_rate", | |
"value": 0.01324690416917656 | |
}, | |
{ | |
"date": "2015-10-06", | |
"metric_name": "engagement_rate", | |
"value": 0.014787071566188335 | |
}, | |
{ | |
"date": "2015-09-29", | |
"metric_name": "engagement_rate", | |
"value": 0.0182532397998208 | |
}, | |
{ | |
"date": "2015-09-22", | |
"metric_name": "engagement_rate", | |
"value": 0.030398363635353035 | |
}, | |
{ | |
"date": "2015-09-15", | |
"metric_name": "engagement_rate", | |
"value": 0.052021105705743476 | |
}, | |
{ | |
"date": "2015-09-08", | |
"metric_name": "engagement_rate", | |
"value": 0.07510832932113626 | |
}, | |
{ | |
"date": "2015-09-01", | |
"metric_name": "engagement_rate", | |
"value": 0.058956076781215096 | |
}, | |
{ | |
"date": "2015-08-25", | |
"metric_name": "engagement_rate", | |
"value": 0.010476868526118881 | |
}, | |
{ | |
"date": "2015-08-18", | |
"metric_name": "engagement_rate", | |
"value": 0.011442018417140482 | |
}, | |
{ | |
"date": "2015-08-11", | |
"metric_name": "engagement_rate", | |
"value": 0.020821917808219178 | |
} | |
] | |
}, | |
{ | |
"name": "Ricardo Diego", | |
"insights": [ | |
{ | |
"date": "2015-10-27", | |
"metric_name": "engagement_rate", | |
"value": 0.2460420234763357 | |
}, | |
{ | |
"date": "2015-10-20", | |
"metric_name": "engagement_rate", | |
"value": 0.16403970478860347 | |
}, | |
{ | |
"date": "2015-10-13", | |
"metric_name": "engagement_rate", | |
"value": 0.18325133342198188 | |
}, | |
{ | |
"date": "2015-10-06", | |
"metric_name": "engagement_rate", | |
"value": 0.21279946184775794 | |
}, | |
{ | |
"date": "2015-09-29", | |
"metric_name": "engagement_rate", | |
"value": 0.22928015410607425 | |
}, | |
{ | |
"date": "2015-09-22", | |
"metric_name": "engagement_rate", | |
"value": 0.13661797950970803 | |
}, | |
{ | |
"date": "2015-09-15", | |
"metric_name": "engagement_rate", | |
"value": 0.2735644812098103 | |
}, | |
{ | |
"date": "2015-09-08", | |
"metric_name": "engagement_rate", | |
"value": 0.18589145000901033 | |
}, | |
{ | |
"date": "2015-09-01", | |
"metric_name": "engagement_rate", | |
"value": 0.28653352117344827 | |
}, | |
{ | |
"date": "2015-08-25", | |
"metric_name": "engagement_rate", | |
"value": 0.19773469981350625 | |
}, | |
{ | |
"date": "2015-08-18", | |
"metric_name": "engagement_rate", | |
"value": 0.22092720745095998 | |
}, | |
{ | |
"date": "2015-08-11", | |
"metric_name": "engagement_rate", | |
"value": 0.21959321431743495 | |
} | |
] | |
}, | |
{ | |
"name": "Newton Howard", | |
"insights": [ | |
{ | |
"date": "2015-10-27", | |
"metric_name": "engagement_rate", | |
"value": 0.2382573179033356 | |
}, | |
{ | |
"date": "2015-10-20", | |
"metric_name": "engagement_rate", | |
"value": 0.09393063583815028 | |
}, | |
{ | |
"date": "2015-10-13", | |
"metric_name": "engagement_rate", | |
"value": 0.14508928571428573 | |
}, | |
{ | |
"date": "2015-10-06", | |
"metric_name": "engagement_rate", | |
"value": 0.025058731401722788 | |
}, | |
{ | |
"date": "2015-09-29", | |
"metric_name": "engagement_rate", | |
"value": 0.02891566265060241 | |
}, | |
{ | |
"date": "2015-09-22", | |
"metric_name": "engagement_rate", | |
"value": 0.013212221304706853 | |
}, | |
{ | |
"date": "2015-09-15", | |
"metric_name": "engagement_rate", | |
"value": 0.019246861924686193 | |
}, | |
{ | |
"date": "2015-09-08", | |
"metric_name": "engagement_rate", | |
"value": 0.013640238704177323 | |
}, | |
{ | |
"date": "2015-09-01", | |
"metric_name": "engagement_rate", | |
"value": 0.017271157167530225 | |
}, | |
{ | |
"date": "2015-08-25", | |
"metric_name": "engagement_rate", | |
"value": 0.016666666666666666 | |
}, | |
{ | |
"date": "2015-08-18", | |
"metric_name": "engagement_rate", | |
"value": 0.025846702317290554 | |
}, | |
{ | |
"date": "2015-08-11", | |
"metric_name": "engagement_rate", | |
"value": 0.013686131386861315 | |
} | |
] | |
}, | |
{ | |
"name": "Ellen Prima", | |
"insights": [ | |
{ | |
"date": "2015-10-27", | |
"metric_name": "engagement_rate", | |
"value": 0.08078253776763139 | |
}, | |
{ | |
"date": "2015-10-20", | |
"metric_name": "engagement_rate", | |
"value": 0.06675057921532956 | |
}, | |
{ | |
"date": "2015-10-13", | |
"metric_name": "engagement_rate", | |
"value": 0.08718270688522625 | |
}, | |
{ | |
"date": "2015-10-06", | |
"metric_name": "engagement_rate", | |
"value": 0.05704063594077744 | |
}, | |
{ | |
"date": "2015-09-29", | |
"metric_name": "engagement_rate", | |
"value": 0.057865482558854556 | |
}, | |
{ | |
"date": "2015-09-22", | |
"metric_name": "engagement_rate", | |
"value": 0.06849856221928176 | |
}, | |
{ | |
"date": "2015-09-15", | |
"metric_name": "engagement_rate", | |
"value": 0.08751948087181863 | |
}, | |
{ | |
"date": "2015-09-08", | |
"metric_name": "engagement_rate", | |
"value": 0.05639448690436702 | |
}, | |
{ | |
"date": "2015-09-01", | |
"metric_name": "engagement_rate", | |
"value": 0.06118216042240494 | |
}, | |
{ | |
"date": "2015-08-25", | |
"metric_name": "engagement_rate", | |
"value": 0.045206164398861146 | |
}, | |
{ | |
"date": "2015-08-18", | |
"metric_name": "engagement_rate", | |
"value": 0.036588236837327086 | |
}, | |
{ | |
"date": "2015-08-11", | |
"metric_name": "engagement_rate", | |
"value": 0.04803717882028264 | |
} | |
] | |
}, | |
{ | |
"name": "Ponte Vecchio", | |
"insights": [ | |
{ | |
"date": "2015-10-27", | |
"metric_name": "engagement_rate", | |
"value": 0.0017699115044247787 | |
}, | |
{ | |
"date": "2015-10-20", | |
"metric_name": "engagement_rate", | |
"value": 0.002820517456471822 | |
}, | |
{ | |
"date": "2015-10-13", | |
"metric_name": "engagement_rate", | |
"value": 0.002880747907381237 | |
}, | |
{ | |
"date": "2015-10-06", | |
"metric_name": "engagement_rate", | |
"value": 0.001833529999092312 | |
}, | |
{ | |
"date": "2015-09-29", | |
"metric_name": "engagement_rate", | |
"value": 0.003562664727801509 | |
}, | |
{ | |
"date": "2015-09-22", | |
"metric_name": "engagement_rate", | |
"value": 0.003390881082165059 | |
}, | |
{ | |
"date": "2015-09-15", | |
"metric_name": "engagement_rate", | |
"value": 0.0032539943694928886 | |
}, | |
{ | |
"date": "2015-09-08", | |
"metric_name": "engagement_rate", | |
"value": 0.003390886762711243 | |
}, | |
{ | |
"date": "2015-09-01", | |
"metric_name": "engagement_rate", | |
"value": 0.001893347548758295 | |
}, | |
{ | |
"date": "2015-08-25", | |
"metric_name": "engagement_rate", | |
"value": 0.002204464039680353 | |
}, | |
{ | |
"date": "2015-08-18", | |
"metric_name": "engagement_rate", | |
"value": 0.0036174666715634066 | |
}, | |
{ | |
"date": "2015-08-11", | |
"metric_name": "engagement_rate", | |
"value": 0.001822768029753466 | |
} | |
] | |
}, | |
{ | |
"name": "Yuna Kim", | |
"insights": [ | |
{ | |
"date": "2015-10-27", | |
"metric_name": "engagement_rate", | |
"value": 0.0045529347229840925 | |
}, | |
{ | |
"date": "2015-10-20", | |
"metric_name": "engagement_rate", | |
"value": 0.004711265174827229 | |
}, | |
{ | |
"date": "2015-10-13", | |
"metric_name": "engagement_rate", | |
"value": 0.002345011688187188 | |
}, | |
{ | |
"date": "2015-10-06", | |
"metric_name": "engagement_rate", | |
"value": 0.0018319888898738292 | |
}, | |
{ | |
"date": "2015-09-29", | |
"metric_name": "engagement_rate", | |
"value": 0.0015016181229773463 | |
}, | |
{ | |
"date": "2015-09-22", | |
"metric_name": "engagement_rate", | |
"value": 0.0013807604177077896 | |
}, | |
{ | |
"date": "2015-09-15", | |
"metric_name": "engagement_rate", | |
"value": 0.0013335555925987664 | |
}, | |
{ | |
"date": "2015-09-08", | |
"metric_name": "engagement_rate", | |
"value": 0.0012379310983858713 | |
}, | |
{ | |
"date": "2015-09-01", | |
"metric_name": "engagement_rate", | |
"value": 0.0015832993436909043 | |
}, | |
{ | |
"date": "2015-08-25", | |
"metric_name": "engagement_rate", | |
"value": 0.001796298289434129 | |
}, | |
{ | |
"date": "2015-08-18", | |
"metric_name": "engagement_rate", | |
"value": 0.0019054623253326201 | |
}, | |
{ | |
"date": "2015-08-11", | |
"metric_name": "engagement_rate", | |
"value": 0.00298225520965031 | |
} | |
] | |
}, | |
{ | |
"name": "Raine Scott", | |
"insights": [ | |
{ | |
"date": "2015-10-27", | |
"metric_name": "engagement_rate", | |
"value": 0.03038078340384878 | |
}, | |
{ | |
"date": "2015-10-20", | |
"metric_name": "engagement_rate", | |
"value": 0.05003079833688981 | |
}, | |
{ | |
"date": "2015-10-13", | |
"metric_name": "engagement_rate", | |
"value": 0.013170799279678626 | |
}, | |
{ | |
"date": "2015-10-06", | |
"metric_name": "engagement_rate", | |
"value": 0.007097800571829074 | |
}, | |
{ | |
"date": "2015-09-29", | |
"metric_name": "engagement_rate", | |
"value": 0.005355404089581304 | |
}, | |
{ | |
"date": "2015-09-22", | |
"metric_name": "engagement_rate", | |
"value": 0.006235346373772188 | |
}, | |
{ | |
"date": "2015-09-15", | |
"metric_name": "engagement_rate", | |
"value": 0.008587403257446844 | |
}, | |
{ | |
"date": "2015-09-08", | |
"metric_name": "engagement_rate", | |
"value": 0.007799594693550859 | |
}, | |
{ | |
"date": "2015-09-01", | |
"metric_name": "engagement_rate", | |
"value": 0.005723270440251572 | |
}, | |
{ | |
"date": "2015-08-25", | |
"metric_name": "engagement_rate", | |
"value": 0.00383324521275373 | |
}, | |
{ | |
"date": "2015-08-18", | |
"metric_name": "engagement_rate", | |
"value": 0.0032058489445491918 | |
}, | |
{ | |
"date": "2015-08-11", | |
"metric_name": "engagement_rate", | |
"value": 0.0036187481212569656 | |
} | |
] | |
}, | |
{ | |
"name": "Nina Simmons", | |
"insights": [ | |
{ | |
"date": "2015-10-27", | |
"metric_name": "engagement_rate", | |
"value": 0.11632361034672536 | |
}, | |
{ | |
"date": "2015-10-20", | |
"metric_name": "engagement_rate", | |
"value": 0.13461347129638843 | |
}, | |
{ | |
"date": "2015-10-13", | |
"metric_name": "engagement_rate", | |
"value": 0.12121038290549262 | |
}, | |
{ | |
"date": "2015-10-06", | |
"metric_name": "engagement_rate", | |
"value": 0.14329913694837973 | |
}, | |
{ | |
"date": "2015-09-29", | |
"metric_name": "engagement_rate", | |
"value": 0.20467902779357677 | |
}, | |
{ | |
"date": "2015-09-22", | |
"metric_name": "engagement_rate", | |
"value": 0.1261491801724955 | |
}, | |
{ | |
"date": "2015-09-15", | |
"metric_name": "engagement_rate", | |
"value": 0.010534802472453642 | |
}, | |
{ | |
"date": "2015-09-08", | |
"metric_name": "engagement_rate", | |
"value": 0.008085522031690905 | |
}, | |
{ | |
"date": "2015-09-01", | |
"metric_name": "engagement_rate", | |
"value": 0.0075977042907898334 | |
}, | |
{ | |
"date": "2015-08-25", | |
"metric_name": "engagement_rate", | |
"value": 0.011273647162340519 | |
}, | |
{ | |
"date": "2015-08-18", | |
"metric_name": "engagement_rate", | |
"value": 0.016266030089379893 | |
}, | |
{ | |
"date": "2015-08-11", | |
"metric_name": "engagement_rate", | |
"value": 0.017183098591549296 | |
} | |
] | |
}, | |
{ | |
"name": "Rose Anthony", | |
"insights": [ | |
{ | |
"date": "2015-10-27", | |
"metric_name": "engagement_rate", | |
"value": 0.09574432446315508 | |
}, | |
{ | |
"date": "2015-10-20", | |
"metric_name": "engagement_rate", | |
"value": 0.003631757703473709 | |
}, | |
{ | |
"date": "2015-10-13", | |
"metric_name": "engagement_rate", | |
"value": 0.003226422942452756 | |
}, | |
{ | |
"date": "2015-10-06", | |
"metric_name": "engagement_rate", | |
"value": 0.0040680640072120805 | |
}, | |
{ | |
"date": "2015-09-29", | |
"metric_name": "engagement_rate", | |
"value": 0.004058836165473889 | |
}, | |
{ | |
"date": "2015-09-22", | |
"metric_name": "engagement_rate", | |
"value": 0.005422329105882887 | |
}, | |
{ | |
"date": "2015-09-15", | |
"metric_name": "engagement_rate", | |
"value": 0.005150644970144492 | |
}, | |
{ | |
"date": "2015-09-08", | |
"metric_name": "engagement_rate", | |
"value": 0.0030444187563663833 | |
}, | |
{ | |
"date": "2015-09-01", | |
"metric_name": "engagement_rate", | |
"value": 0.005597742549725848 | |
}, | |
{ | |
"date": "2015-08-25", | |
"metric_name": "engagement_rate", | |
"value": 0.002328020375940716 | |
}, | |
{ | |
"date": "2015-08-18", | |
"metric_name": "engagement_rate", | |
"value": 0.0023311368331159913 | |
}, | |
{ | |
"date": "2015-08-11", | |
"metric_name": "engagement_rate", | |
"value": 0.004369386551999168 | |
} | |
] | |
}, | |
{ | |
"name": "Rhonda Hayward", | |
"insights": [ | |
{ | |
"date": "2015-10-27", | |
"metric_name": "engagement_rate", | |
"value": 0.0615148077382374 | |
}, | |
{ | |
"date": "2015-10-20", | |
"metric_name": "engagement_rate", | |
"value": 0.08195653555315499 | |
}, | |
{ | |
"date": "2015-10-13", | |
"metric_name": "engagement_rate", | |
"value": 0.08626556805030143 | |
}, | |
{ | |
"date": "2015-10-06", | |
"metric_name": "engagement_rate", | |
"value": 0.10989093928072757 | |
}, | |
{ | |
"date": "2015-09-29", | |
"metric_name": "engagement_rate", | |
"value": 0.11341012363943781 | |
}, | |
{ | |
"date": "2015-09-22", | |
"metric_name": "engagement_rate", | |
"value": 0.11775864930876669 | |
}, | |
{ | |
"date": "2015-09-15", | |
"metric_name": "engagement_rate", | |
"value": 0.1588596863077575 | |
}, | |
{ | |
"date": "2015-09-08", | |
"metric_name": "engagement_rate", | |
"value": 0.10490724117295033 | |
}, | |
{ | |
"date": "2015-09-01", | |
"metric_name": "engagement_rate", | |
"value": 0.09540801013772635 | |
}, | |
{ | |
"date": "2015-08-25", | |
"metric_name": "engagement_rate", | |
"value": 0.02097130242825607 | |
}, | |
{ | |
"date": "2015-08-18", | |
"metric_name": "engagement_rate", | |
"value": 0.017246550689862028 | |
}, | |
{ | |
"date": "2015-08-11", | |
"metric_name": "engagement_rate", | |
"value": 0.01603259834723333 | |
} | |
] | |
}, | |
{ | |
"name": "Scott Thompson", | |
"insights": [ | |
{ | |
"date": "2015-10-27", | |
"metric_name": "engagement_rate", | |
"value": 0.0014264656935000714 | |
}, | |
{ | |
"date": "2015-10-20", | |
"metric_name": "engagement_rate", | |
"value": 0.0016420361247947454 | |
}, | |
{ | |
"date": "2015-10-13", | |
"metric_name": "engagement_rate", | |
"value": 0.0013819394805813677 | |
}, | |
{ | |
"date": "2015-10-06", | |
"metric_name": "engagement_rate", | |
"value": 0.0010732172668733604 | |
}, | |
{ | |
"date": "2015-09-29", | |
"metric_name": "engagement_rate", | |
"value": 0.0012170094974466663 | |
}, | |
{ | |
"date": "2015-09-22", | |
"metric_name": "engagement_rate", | |
"value": 0.0019344207484536574 | |
}, | |
{ | |
"date": "2015-09-15", | |
"metric_name": "engagement_rate", | |
"value": 0.001506672406371072 | |
}, | |
{ | |
"date": "2015-09-08", | |
"metric_name": "engagement_rate", | |
"value": 0.001556178026766262 | |
}, | |
{ | |
"date": "2015-09-01", | |
"metric_name": "engagement_rate", | |
"value": 0.0014858484913844753 | |
}, | |
{ | |
"date": "2015-08-25", | |
"metric_name": "engagement_rate", | |
"value": 0.0020153067344833376 | |
}, | |
{ | |
"date": "2015-08-18", | |
"metric_name": "engagement_rate", | |
"value": 0.0017296050735082155 | |
}, | |
{ | |
"date": "2015-08-11", | |
"metric_name": "engagement_rate", | |
"value": 0.0019240944730386262 | |
} | |
] | |
}, | |
{ | |
"name": "Utu Bass", | |
"insights": [ | |
{ | |
"date": "2015-10-27", | |
"metric_name": "engagement_rate", | |
"value": 0.011052382232426756 | |
}, | |
{ | |
"date": "2015-10-20", | |
"metric_name": "engagement_rate", | |
"value": 0.009816144818919023 | |
}, | |
{ | |
"date": "2015-10-13", | |
"metric_name": "engagement_rate", | |
"value": 0.008664877228361862 | |
}, | |
{ | |
"date": "2015-10-06", | |
"metric_name": "engagement_rate", | |
"value": 0.012356071113352667 | |
}, | |
{ | |
"date": "2015-09-29", | |
"metric_name": "engagement_rate", | |
"value": 0.010825988263803847 | |
}, | |
{ | |
"date": "2015-09-22", | |
"metric_name": "engagement_rate", | |
"value": 0.010724200710956599 | |
}, | |
{ | |
"date": "2015-09-15", | |
"metric_name": "engagement_rate", | |
"value": 0.014003456855702525 | |
}, | |
{ | |
"date": "2015-09-08", | |
"metric_name": "engagement_rate", | |
"value": 0.017045454545454544 | |
}, | |
{ | |
"date": "2015-09-01", | |
"metric_name": "engagement_rate", | |
"value": 0.015922707513797714 | |
}, | |
{ | |
"date": "2015-08-25", | |
"metric_name": "engagement_rate", | |
"value": 0.007237927760893527 | |
}, | |
{ | |
"date": "2015-08-18", | |
"metric_name": "engagement_rate", | |
"value": 0.0059353938591686604 | |
}, | |
{ | |
"date": "2015-08-11", | |
"metric_name": "engagement_rate", | |
"value": 0.004727238853513414 | |
} | |
] | |
}, | |
{ | |
"name": "Kim Crawford", | |
"insights": [ | |
{ | |
"date": "2015-10-27", | |
"metric_name": "engagement_rate", | |
"value": 0.07138240574506284 | |
}, | |
{ | |
"date": "2015-10-20", | |
"metric_name": "engagement_rate", | |
"value": 0.07762208612562926 | |
}, | |
{ | |
"date": "2015-10-13", | |
"metric_name": "engagement_rate", | |
"value": 0.054750821467688934 | |
}, | |
{ | |
"date": "2015-10-06", | |
"metric_name": "engagement_rate", | |
"value": 0.07303487654763784 | |
}, | |
{ | |
"date": "2015-09-29", | |
"metric_name": "engagement_rate", | |
"value": 0.06162934160840468 | |
}, | |
{ | |
"date": "2015-09-22", | |
"metric_name": "engagement_rate", | |
"value": 0.05894422975067187 | |
}, | |
{ | |
"date": "2015-09-15", | |
"metric_name": "engagement_rate", | |
"value": 0.03138228959507522 | |
}, | |
{ | |
"date": "2015-09-08", | |
"metric_name": "engagement_rate", | |
"value": 0.036262576156497625 | |
}, | |
{ | |
"date": "2015-09-01", | |
"metric_name": "engagement_rate", | |
"value": 0.04888879214644871 | |
}, | |
{ | |
"date": "2015-08-25", | |
"metric_name": "engagement_rate", | |
"value": 0.025508616374042187 | |
}, | |
{ | |
"date": "2015-08-18", | |
"metric_name": "engagement_rate", | |
"value": 0.03425531524253663 | |
}, | |
{ | |
"date": "2015-08-11", | |
"metric_name": "engagement_rate", | |
"value": 0.031288841360743315 | |
} | |
] | |
}, | |
{ | |
"name": "George Sand", | |
"insights": [ | |
{ | |
"date": "2015-10-27", | |
"metric_name": "engagement_rate", | |
"value": 0.0029023746701846965 | |
}, | |
{ | |
"date": "2015-10-20", | |
"metric_name": "engagement_rate", | |
"value": 0.003197499699483111 | |
}, | |
{ | |
"date": "2015-10-13", | |
"metric_name": "engagement_rate", | |
"value": 0.003398081650359088 | |
}, | |
{ | |
"date": "2015-10-06", | |
"metric_name": "engagement_rate", | |
"value": 0.0034790171776473144 | |
}, | |
{ | |
"date": "2015-09-29", | |
"metric_name": "engagement_rate", | |
"value": 0.003949217425013325 | |
}, | |
{ | |
"date": "2015-09-22", | |
"metric_name": "engagement_rate", | |
"value": 0.00415734707770106 | |
}, | |
{ | |
"date": "2015-09-15", | |
"metric_name": "engagement_rate", | |
"value": 0.004146341463414634 | |
}, | |
{ | |
"date": "2015-09-08", | |
"metric_name": "engagement_rate", | |
"value": 0.0027157956547269524 | |
}, | |
{ | |
"date": "2015-09-01", | |
"metric_name": "engagement_rate", | |
"value": 0.0032366427187798838 | |
}, | |
{ | |
"date": "2015-08-25", | |
"metric_name": "engagement_rate", | |
"value": 0.0037123540258143825 | |
}, | |
{ | |
"date": "2015-08-18", | |
"metric_name": "engagement_rate", | |
"value": 0.004413432615020464 | |
}, | |
{ | |
"date": "2015-08-11", | |
"metric_name": "engagement_rate", | |
"value": 0.004008908685968819 | |
} | |
] | |
}, | |
{ | |
"name": "Melanie Meeks", | |
"insights": [ | |
{ | |
"date": "2015-10-27", | |
"metric_name": "engagement_rate", | |
"value": 0.018352855728260894 | |
}, | |
{ | |
"date": "2015-10-20", | |
"metric_name": "engagement_rate", | |
"value": 0.018524642129820728 | |
}, | |
{ | |
"date": "2015-10-13", | |
"metric_name": "engagement_rate", | |
"value": 0.015794428447464304 | |
}, | |
{ | |
"date": "2015-10-06", | |
"metric_name": "engagement_rate", | |
"value": 0.01991584429219661 | |
}, | |
{ | |
"date": "2015-09-29", | |
"metric_name": "engagement_rate", | |
"value": 0.016560164016429825 | |
}, | |
{ | |
"date": "2015-09-22", | |
"metric_name": "engagement_rate", | |
"value": 0.017800373132112756 | |
}, | |
{ | |
"date": "2015-09-15", | |
"metric_name": "engagement_rate", | |
"value": 0.018424128556858686 | |
}, | |
{ | |
"date": "2015-09-08", | |
"metric_name": "engagement_rate", | |
"value": 0.01441406871394206 | |
}, | |
{ | |
"date": "2015-09-01", | |
"metric_name": "engagement_rate", | |
"value": 0.014824896998234256 | |
}, | |
{ | |
"date": "2015-08-25", | |
"metric_name": "engagement_rate", | |
"value": 0.012068662777325753 | |
}, | |
{ | |
"date": "2015-08-18", | |
"metric_name": "engagement_rate", | |
"value": 0.009323994809348155 | |
}, | |
{ | |
"date": "2015-08-11", | |
"metric_name": "engagement_rate", | |
"value": 0.009851217566919541 | |
} | |
] | |
}, | |
{ | |
"name": "Moira Jules", | |
"insights": [ | |
{ | |
"date": "2015-10-27", | |
"metric_name": "engagement_rate", | |
"value": 0.020209423087801607 | |
}, | |
{ | |
"date": "2015-10-20", | |
"metric_name": "engagement_rate", | |
"value": 0.02804609081322998 | |
}, | |
{ | |
"date": "2015-10-13", | |
"metric_name": "engagement_rate", | |
"value": 0.03207261325660576 | |
}, | |
{ | |
"date": "2015-10-06", | |
"metric_name": "engagement_rate", | |
"value": 0.03853970034017075 | |
}, | |
{ | |
"date": "2015-09-29", | |
"metric_name": "engagement_rate", | |
"value": 0.03595303042111553 | |
}, | |
{ | |
"date": "2015-09-22", | |
"metric_name": "engagement_rate", | |
"value": 0.035575009402516865 | |
}, | |
{ | |
"date": "2015-09-15", | |
"metric_name": "engagement_rate", | |
"value": 0.04528769984426124 | |
}, | |
{ | |
"date": "2015-09-08", | |
"metric_name": "engagement_rate", | |
"value": 0.04142435514573619 | |
}, | |
{ | |
"date": "2015-09-01", | |
"metric_name": "engagement_rate", | |
"value": 0.025970039430042426 | |
}, | |
{ | |
"date": "2015-08-25", | |
"metric_name": "engagement_rate", | |
"value": 0.019341361123466988 | |
}, | |
{ | |
"date": "2015-08-18", | |
"metric_name": "engagement_rate", | |
"value": 0.020211831485607807 | |
}, | |
{ | |
"date": "2015-08-11", | |
"metric_name": "engagement_rate", | |
"value": 0.010932662372686305 | |
} | |
] | |
}, | |
{ | |
"name": "Dirk Watts", | |
"insights": [ | |
{ | |
"date": "2015-10-27", | |
"metric_name": "engagement_rate", | |
"value": 0.0012979521199884627 | |
}, | |
{ | |
"date": "2015-10-20", | |
"metric_name": "engagement_rate", | |
"value": 0.0021654395842356 | |
}, | |
{ | |
"date": "2015-10-13", | |
"metric_name": "engagement_rate", | |
"value": 0.0015902848055515397 | |
}, | |
{ | |
"date": "2015-10-06", | |
"metric_name": "engagement_rate", | |
"value": 0.0015918958031837917 | |
}, | |
{ | |
"date": "2015-09-29", | |
"metric_name": "engagement_rate", | |
"value": 0.0018835120254998552 | |
}, | |
{ | |
"date": "2015-09-22", | |
"metric_name": "engagement_rate", | |
"value": 0.003917017263890904 | |
}, | |
{ | |
"date": "2015-09-15", | |
"metric_name": "engagement_rate", | |
"value": 0.0032009311799796303 | |
}, | |
{ | |
"date": "2015-09-08", | |
"metric_name": "engagement_rate", | |
"value": 0.0036480373559025243 | |
}, | |
{ | |
"date": "2015-09-01", | |
"metric_name": "engagement_rate", | |
"value": 0.015209125475285171 | |
}, | |
{ | |
"date": "2015-08-25", | |
"metric_name": "engagement_rate", | |
"value": 0.002817736912353552 | |
}, | |
{ | |
"date": "2015-08-18", | |
"metric_name": "engagement_rate", | |
"value": 0.0034170257019759324 | |
}, | |
{ | |
"date": "2015-08-11", | |
"metric_name": "engagement_rate", | |
"value": 0.0014896469536719798 | |
} | |
] | |
} | |
] | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<meta charset="utf-8"> | |
<style> | |
body { | |
font: 13px "Helvetica Neue", Helvetica, Arial, sans-serif; | |
} | |
#charts { | |
height: 460px; | |
margin: 20px; | |
overflow: auto; | |
} | |
.chart-container { | |
height: 32px; | |
margin: 0 0 14px 0; | |
} | |
.title { | |
width: 150px; | |
display: inline-block; | |
vertical-align: top; | |
text-align: right; | |
margin-right: 16px; | |
} | |
.bandline .line { | |
stroke: #000; | |
stroke-width: 2px; | |
fill: none; | |
} | |
.spread { | |
margin-left: 10px; | |
} | |
.strip-plot-box { | |
shape-rendering: crispEdges; | |
} | |
</style> | |
<body> | |
<div id="charts"></div> | |
<script src="//d3js.org/d3.v3.min.js"></script> | |
<script> | |
var bandline = (function() { | |
function bandlineChart() { | |
var margin = {top: 1, right: 0, bottom: 1, left:0}, | |
width = 120, | |
height = 36, | |
overallMin = null, | |
overallMax = null, | |
xValue = function(d) { return d[0]; }, | |
yValue = function(d) { return d[1]; }, | |
xScale = d3.time.scale(), | |
yScale = d3.scale.linear(), | |
line = d3.svg.line().x(X).y(Y); | |
function chart(selection) { | |
selection.each(function(data) { | |
data = data.map(function(d, i) { | |
return [xValue.call(data, d, i), yValue.call(data, d, i)]; | |
}); | |
xScale | |
.domain(d3.extent(data, function(d) { return d[0]; })) | |
.range([0, width - margin.left - margin.right]); | |
yScale | |
.domain(d3.extent(data, function(d) { return d[1]; })) | |
.range([height - margin.top, margin.bottom]); | |
var svg = d3.select(this).selectAll('.bandline').data([data]); | |
var gEnter = svg.enter().append('svg').attr('class', 'bandline').append('g'); | |
gEnter.append('g').attr('class', 'band-g'); | |
gEnter.append('path').attr('class', 'line'); | |
svg .attr('width', width) | |
.attr('height', height); | |
var svg2 = d3.select(this).selectAll('.spread').data([data]); | |
var gEnter2 = svg2.enter().append('svg').attr('class', 'spread').append('g').attr('class', 'spread-group'); | |
svg2.attr('width', 100 + 5 + 5) | |
.attr('height', 36); | |
var g = svg.select('g'); | |
var bandG = g.select('.band-g'); | |
var max = d3.max(data, function(d) { return d[1]; }); | |
var min = d3.min(data, function(d) { return d[1]; }); | |
var topRange = (max - overallMin) / (overallMax - overallMin); | |
var bottomRange = (min - overallMin) / (overallMax - overallMin); | |
var topBand = Math.floor(topRange / 0.2); | |
var bottomBand = Math.floor(bottomRange / 0.2); | |
var topBandFloor = Math.floor(topBand); | |
var bottomBandFloor = Math.floor(bottomBand); | |
var diff = topBandFloor - bottomBandFloor; | |
var nBands = diff + 1; | |
var startColor = getColor(bottomBandFloor); | |
var endColor = getColor(topBandFloor); | |
var bandScale = d3.scale.linear(); | |
bandScale | |
.domain([bottomRange, topRange]) | |
.range([36, 0]); | |
if (diff >= 0) { | |
bandG.append('rect') | |
.attr('class', 'band') | |
.attr('width', width) | |
.attr('height', height) | |
.style('fill', endColor); | |
} | |
var index = topBand * 0.2; | |
while (topRange >= index && index > bottomRange) { | |
bandG.append('rect') | |
.attr('class', 'band') | |
.attr('width', width) | |
.attr('x', 0) | |
.attr('y', bandScale(index)) | |
.attr('height', height - bandScale(index)) | |
.style('fill', getColor((index * 5) - 1)); | |
index -= 0.2; | |
} | |
g.select('.line') | |
.attr('d', line); | |
var spreadScale = d3.scale.linear(); | |
spreadScale | |
.domain([0, 1]) | |
.range([0, 100]); | |
var spreadG = svg2.select('.spread-group'); | |
spreadG.attr('transform', 'translate(5,0)'); | |
var spreadBars = spreadG.selectAll('rect') | |
.data([0, 0.2, 0.4, 0.6, 0.8]); | |
spreadBars.enter().append('rect') | |
.attr('x', function(d) { return spreadScale(d); }) | |
.attr('y', 0) | |
.attr('width', 20) | |
.attr('height', 36) | |
.style('fill', function(d) { return getColor(d * 5); }); | |
spreadG.append('rect') | |
.attr('x', spreadScale(bottomRange)) | |
.attr('y', 10) | |
.attr('width', spreadScale(topRange - bottomRange)) | |
.attr('height', 16) | |
.style('fill', '#ffffff') | |
.style('stroke', '#000000') | |
.attr('class', 'strip-plot-box'); | |
var stripPlots = spreadG.append('g') | |
.attr('class', 'strip-plots'); | |
var stripScale = d3.scale.linear(); | |
stripScale | |
.domain([overallMin, overallMax]) | |
.range([0, 100]); | |
stripPlots.selectAll('circle').data(data) | |
.enter().append('circle') | |
.attr('cx', function(d) { return stripScale(d[1]); }) | |
.attr('cy', 18) | |
.attr('r', 2.5) | |
.style('fill', 'none') | |
.style('stroke', '#000000'); | |
function getColor(index) { | |
return d3.hsl(191, 0.6, 0.92 - (index / 15)); | |
} | |
}); | |
} | |
function X(d) { | |
return xScale(d[0]); | |
} | |
function Y(d) { | |
return yScale(d[1]); | |
} | |
chart.margin = function(val) { | |
if (!arguments) return margin; | |
margin = val; | |
return chart; | |
}; | |
chart.width = function(val) { | |
if (!arguments) return width; | |
width = val; | |
return chart; | |
}; | |
chart.height = function(val) { | |
if (!arguments) return height; | |
height = val; | |
return chart; | |
}; | |
chart.x = function(val) { | |
if (!arguments) return xValue; | |
xValue = val; | |
return chart; | |
}; | |
chart.y = function(val) { | |
if (!arguments) return yValue; | |
yValue = val; | |
return chart; | |
}; | |
chart.overallMin = function(val) { | |
if (!arguments) return overallMin; | |
overallMin = val; | |
return chart; | |
}; | |
chart.overallMax = function(val) { | |
if (!arguments) return overallMax; | |
overallMax = val; | |
return chart; | |
}; | |
return chart; | |
} | |
function overallExtent(data) { | |
var extents = data.map(function(d) { | |
return d3.extent(d.data, function(d) { return d. value; }); | |
}); | |
var min = d3.min(extents, function(d) { return d[0]; }); | |
var max = d3.max(extents, function(d) { return d[1]; }); | |
return { min: min, max: max }; | |
} | |
function draw(data) { | |
var extent = overallExtent(data); | |
var charts = []; | |
var formatDate = d3.time.format('%Y-%m-%d'); | |
data.forEach(function(d, i) { | |
var chart = bandlineChart() | |
.x(function(d) { return formatDate.parse(d.date); }) | |
.y(function(d) { return d.value; }) | |
.overallMin(extent.min) | |
.overallMax(extent.max); | |
var charts = d3.select('#charts').append('div'); | |
charts.attr('id', 'chart' + i) | |
.attr('class', 'chart-container') | |
.append('div') | |
.attr('class', 'title') | |
.text(d.name); | |
charts.datum(d.data) | |
.call(chart); | |
}); | |
} | |
return { | |
draw: draw | |
}; | |
})(); | |
d3.json("data.json", function(error, data) { | |
if (error) throw error; | |
data = data.data; | |
data.sort(function(a, b) { | |
if (a.name < b.name) return -1; | |
if (a.name > b.name) return 1; | |
return 0; | |
}); | |
data = data.map(function(d) { | |
return { name: d.name, data: d.insights.reverse() }; | |
}); | |
bandline.draw(data); | |
}); | |
</script> | |
</body> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment