Skip to content

Instantly share code, notes, and snippets.

@Qizly
Last active December 29, 2015 05:31
Show Gist options
  • Save Qizly/be55235a66edbb77ffa9 to your computer and use it in GitHub Desktop.
Save Qizly/be55235a66edbb77ffa9 to your computer and use it in GitHub Desktop.
Bandlines
{
"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
}
]
}
]
}
<!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