picky-statistics 4.5.0 → 4.5.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (607) hide show
  1. data/lib/picky-statistics.rb +4 -2
  2. data/lib/picky-statistics/application/app.rb +10 -4
  3. data/lib/picky-statistics/application/javascripts/crossfilter.v1.min.js +1 -0
  4. data/lib/picky-statistics/application/javascripts/d3.v2.min.js +4 -0
  5. data/lib/picky-statistics/application/javascripts/helpers.js +258 -0
  6. data/lib/picky-statistics/application/javascripts/statistics.js +203 -63
  7. data/lib/picky-statistics/application/stylesheets/statistics.css +137 -71
  8. data/lib/picky-statistics/application/views/index.haml +42 -33
  9. data/lib/picky-statistics/logfile_reader.rb +106 -0
  10. data/spec/lib/picky-statistics/logfile_reader_spec.rb +57 -0
  11. metadata +12 -604
  12. data/lib/picky-statistics/application/javascripts/d3/LICENSE +0 -26
  13. data/lib/picky-statistics/application/javascripts/d3/Makefile +0 -268
  14. data/lib/picky-statistics/application/javascripts/d3/README.md +0 -51
  15. data/lib/picky-statistics/application/javascripts/d3/d3.chart.js +0 -984
  16. data/lib/picky-statistics/application/javascripts/d3/d3.chart.min.js +0 -1
  17. data/lib/picky-statistics/application/javascripts/d3/d3.csv.js +0 -92
  18. data/lib/picky-statistics/application/javascripts/d3/d3.csv.min.js +0 -1
  19. data/lib/picky-statistics/application/javascripts/d3/d3.geo.js +0 -938
  20. data/lib/picky-statistics/application/javascripts/d3/d3.geo.min.js +0 -1
  21. data/lib/picky-statistics/application/javascripts/d3/d3.geom.js +0 -835
  22. data/lib/picky-statistics/application/javascripts/d3/d3.geom.min.js +0 -1
  23. data/lib/picky-statistics/application/javascripts/d3/d3.js +0 -4690
  24. data/lib/picky-statistics/application/javascripts/d3/d3.layout.js +0 -1891
  25. data/lib/picky-statistics/application/javascripts/d3/d3.layout.min.js +0 -1
  26. data/lib/picky-statistics/application/javascripts/d3/d3.min.js +0 -2
  27. data/lib/picky-statistics/application/javascripts/d3/d3.time.js +0 -687
  28. data/lib/picky-statistics/application/javascripts/d3/d3.time.min.js +0 -1
  29. data/lib/picky-statistics/application/javascripts/d3/examples/albers/albers.html +0 -168
  30. data/lib/picky-statistics/application/javascripts/d3/examples/area/area-radial.html +0 -48
  31. data/lib/picky-statistics/application/javascripts/d3/examples/area/area.html +0 -113
  32. data/lib/picky-statistics/application/javascripts/d3/examples/axis/axis-alternating.html +0 -50
  33. data/lib/picky-statistics/application/javascripts/d3/examples/axis/axis-ggplot2.html +0 -68
  34. data/lib/picky-statistics/application/javascripts/d3/examples/axis/axis-multiples.html +0 -117
  35. data/lib/picky-statistics/application/javascripts/d3/examples/axis/axis-orientations.html +0 -63
  36. data/lib/picky-statistics/application/javascripts/d3/examples/axis/axis-transition.html +0 -153
  37. data/lib/picky-statistics/application/javascripts/d3/examples/azimuthal/azimuthal.css +0 -21
  38. data/lib/picky-statistics/application/javascripts/d3/examples/azimuthal/azimuthal.html +0 -99
  39. data/lib/picky-statistics/application/javascripts/d3/examples/azimuthal/azimuthal.js +0 -29
  40. data/lib/picky-statistics/application/javascripts/d3/examples/bar/bar-hierarchy.html +0 -223
  41. data/lib/picky-statistics/application/javascripts/d3/examples/bar/bar.html +0 -101
  42. data/lib/picky-statistics/application/javascripts/d3/examples/bar/sample-data.csv +0 -53
  43. data/lib/picky-statistics/application/javascripts/d3/examples/bonne/bonne.html +0 -159
  44. data/lib/picky-statistics/application/javascripts/d3/examples/box/box.css +0 -4
  45. data/lib/picky-statistics/application/javascripts/d3/examples/box/box.html +0 -19
  46. data/lib/picky-statistics/application/javascripts/d3/examples/box/box.js +0 -68
  47. data/lib/picky-statistics/application/javascripts/d3/examples/brush/brush-ordinal.html +0 -92
  48. data/lib/picky-statistics/application/javascripts/d3/examples/brush/brush-x.html +0 -92
  49. data/lib/picky-statistics/application/javascripts/d3/examples/brush/brush-y.html +0 -91
  50. data/lib/picky-statistics/application/javascripts/d3/examples/brush/brush.html +0 -98
  51. data/lib/picky-statistics/application/javascripts/d3/examples/bubble/bubble.css +0 -8
  52. data/lib/picky-statistics/application/javascripts/d3/examples/bubble/bubble.html +0 -14
  53. data/lib/picky-statistics/application/javascripts/d3/examples/bubble/bubble.js +0 -46
  54. data/lib/picky-statistics/application/javascripts/d3/examples/bullet/bullet.css +0 -10
  55. data/lib/picky-statistics/application/javascripts/d3/examples/bullet/bullet.html +0 -18
  56. data/lib/picky-statistics/application/javascripts/d3/examples/bullet/bullet.js +0 -53
  57. data/lib/picky-statistics/application/javascripts/d3/examples/bullet/bullets.json +0 -7
  58. data/lib/picky-statistics/application/javascripts/d3/examples/bundle/bundle-radial.css +0 -9
  59. data/lib/picky-statistics/application/javascripts/d3/examples/bundle/bundle-radial.html +0 -15
  60. data/lib/picky-statistics/application/javascripts/d3/examples/bundle/bundle-radial.js +0 -50
  61. data/lib/picky-statistics/application/javascripts/d3/examples/bundle/bundle-treemap.css +0 -14
  62. data/lib/picky-statistics/application/javascripts/d3/examples/bundle/bundle-treemap.html +0 -16
  63. data/lib/picky-statistics/application/javascripts/d3/examples/bundle/bundle-treemap.js +0 -53
  64. data/lib/picky-statistics/application/javascripts/d3/examples/bundle/packages.js +0 -49
  65. data/lib/picky-statistics/application/javascripts/d3/examples/button.css +0 -35
  66. data/lib/picky-statistics/application/javascripts/d3/examples/calendar/calendar.css +0 -15
  67. data/lib/picky-statistics/application/javascripts/d3/examples/calendar/dji-area.html +0 -120
  68. data/lib/picky-statistics/application/javascripts/d3/examples/calendar/dji.csv +0 -5233
  69. data/lib/picky-statistics/application/javascripts/d3/examples/calendar/dji.html +0 -15
  70. data/lib/picky-statistics/application/javascripts/d3/examples/calendar/dji.js +0 -65
  71. data/lib/picky-statistics/application/javascripts/d3/examples/calendar/vix.csv +0 -5231
  72. data/lib/picky-statistics/application/javascripts/d3/examples/calendar/vix.html +0 -15
  73. data/lib/picky-statistics/application/javascripts/d3/examples/calendar/vix.js +0 -65
  74. data/lib/picky-statistics/application/javascripts/d3/examples/cartogram/cartogram.css +0 -20
  75. data/lib/picky-statistics/application/javascripts/d3/examples/cartogram/cartogram.html +0 -15
  76. data/lib/picky-statistics/application/javascripts/d3/examples/cartogram/cartogram.js +0 -51
  77. data/lib/picky-statistics/application/javascripts/d3/examples/cartogram/demers.css +0 -9
  78. data/lib/picky-statistics/application/javascripts/d3/examples/cartogram/demers.html +0 -16
  79. data/lib/picky-statistics/application/javascripts/d3/examples/cartogram/demers.js +0 -79
  80. data/lib/picky-statistics/application/javascripts/d3/examples/cartogram/dorling.css +0 -9
  81. data/lib/picky-statistics/application/javascripts/d3/examples/cartogram/dorling.html +0 -16
  82. data/lib/picky-statistics/application/javascripts/d3/examples/cartogram/dorling.js +0 -80
  83. data/lib/picky-statistics/application/javascripts/d3/examples/chord/chord-flare.html +0 -109
  84. data/lib/picky-statistics/application/javascripts/d3/examples/chord/chord.css +0 -9
  85. data/lib/picky-statistics/application/javascripts/d3/examples/chord/chord.html +0 -14
  86. data/lib/picky-statistics/application/javascripts/d3/examples/chord/chord.js +0 -98
  87. data/lib/picky-statistics/application/javascripts/d3/examples/choropleth/choropleth-area.html +0 -51
  88. data/lib/picky-statistics/application/javascripts/d3/examples/choropleth/choropleth-bounds.html +0 -46
  89. data/lib/picky-statistics/application/javascripts/d3/examples/choropleth/choropleth.css +0 -16
  90. data/lib/picky-statistics/application/javascripts/d3/examples/choropleth/choropleth.html +0 -15
  91. data/lib/picky-statistics/application/javascripts/d3/examples/choropleth/choropleth.js +0 -38
  92. data/lib/picky-statistics/application/javascripts/d3/examples/choropleth/unemployment.json +0 -1
  93. data/lib/picky-statistics/application/javascripts/d3/examples/clock/clock.css +0 -23
  94. data/lib/picky-statistics/application/javascripts/d3/examples/clock/clock.html +0 -17
  95. data/lib/picky-statistics/application/javascripts/d3/examples/clock/clock.js +0 -87
  96. data/lib/picky-statistics/application/javascripts/d3/examples/cluster/cluster-radial.html +0 -14
  97. data/lib/picky-statistics/application/javascripts/d3/examples/cluster/cluster-radial.js +0 -39
  98. data/lib/picky-statistics/application/javascripts/d3/examples/cluster/cluster.css +0 -15
  99. data/lib/picky-statistics/application/javascripts/d3/examples/cluster/cluster.html +0 -14
  100. data/lib/picky-statistics/application/javascripts/d3/examples/cluster/cluster.js +0 -39
  101. data/lib/picky-statistics/application/javascripts/d3/examples/contour/contour.html +0 -108
  102. data/lib/picky-statistics/application/javascripts/d3/examples/crimea/crimea-stacked-area.html +0 -109
  103. data/lib/picky-statistics/application/javascripts/d3/examples/crimea/crimea-stacked-bar.html +0 -98
  104. data/lib/picky-statistics/application/javascripts/d3/examples/crimea/crimea.csv +0 -24
  105. data/lib/picky-statistics/application/javascripts/d3/examples/custom/custom.html +0 -83
  106. data/lib/picky-statistics/application/javascripts/d3/examples/data/README.md +0 -13
  107. data/lib/picky-statistics/application/javascripts/d3/examples/data/faithful.json +0 -8
  108. data/lib/picky-statistics/application/javascripts/d3/examples/data/flare-imports.json +0 -222
  109. data/lib/picky-statistics/application/javascripts/d3/examples/data/flare.json +0 -380
  110. data/lib/picky-statistics/application/javascripts/d3/examples/data/morley.csv +0 -101
  111. data/lib/picky-statistics/application/javascripts/d3/examples/data/sample.csv +0 -2
  112. data/lib/picky-statistics/application/javascripts/d3/examples/data/sample.html +0 -5
  113. data/lib/picky-statistics/application/javascripts/d3/examples/data/sample.json +0 -1
  114. data/lib/picky-statistics/application/javascripts/d3/examples/data/sample.txt +0 -1
  115. data/lib/picky-statistics/application/javascripts/d3/examples/data/sample.xml +0 -4
  116. data/lib/picky-statistics/application/javascripts/d3/examples/data/stocks.csv +0 -807
  117. data/lib/picky-statistics/application/javascripts/d3/examples/data/unemployment.csv +0 -1709
  118. data/lib/picky-statistics/application/javascripts/d3/examples/data/us-borders.json +0 -1
  119. data/lib/picky-statistics/application/javascripts/d3/examples/data/us-counties.json +0 -3216
  120. data/lib/picky-statistics/application/javascripts/d3/examples/data/us-state-centroids.json +0 -54
  121. data/lib/picky-statistics/application/javascripts/d3/examples/data/us-states.json +0 -54
  122. data/lib/picky-statistics/application/javascripts/d3/examples/data/world-countries.json +0 -179
  123. data/lib/picky-statistics/application/javascripts/d3/examples/delaunay/delaunay.html +0 -44
  124. data/lib/picky-statistics/application/javascripts/d3/examples/donut/donut.html +0 -124
  125. data/lib/picky-statistics/application/javascripts/d3/examples/dot/dot.html +0 -103
  126. data/lib/picky-statistics/application/javascripts/d3/examples/drag/drag.html +0 -44
  127. data/lib/picky-statistics/application/javascripts/d3/examples/force/README +0 -10
  128. data/lib/picky-statistics/application/javascripts/d3/examples/force/force-bounds.html +0 -70
  129. data/lib/picky-statistics/application/javascripts/d3/examples/force/force-cluster.html +0 -249
  130. data/lib/picky-statistics/application/javascripts/d3/examples/force/force-collapsible.html +0 -144
  131. data/lib/picky-statistics/application/javascripts/d3/examples/force/force-dynamic.html +0 -118
  132. data/lib/picky-statistics/application/javascripts/d3/examples/force/force-map.html +0 -104
  133. data/lib/picky-statistics/application/javascripts/d3/examples/force/force-multi-foci.html +0 -68
  134. data/lib/picky-statistics/application/javascripts/d3/examples/force/force.css +0 -9
  135. data/lib/picky-statistics/application/javascripts/d3/examples/force/force.html +0 -14
  136. data/lib/picky-statistics/application/javascripts/d3/examples/force/force.js +0 -50
  137. data/lib/picky-statistics/application/javascripts/d3/examples/force/miserables.json +0 -1
  138. data/lib/picky-statistics/application/javascripts/d3/examples/great-arc/great-arc.html +0 -78
  139. data/lib/picky-statistics/application/javascripts/d3/examples/hello-world/hello-data-key.html +0 -60
  140. data/lib/picky-statistics/application/javascripts/d3/examples/hello-world/hello-data-nested-key.html +0 -75
  141. data/lib/picky-statistics/application/javascripts/d3/examples/hello-world/hello-data-nested.html +0 -77
  142. data/lib/picky-statistics/application/javascripts/d3/examples/hello-world/hello-data.html +0 -46
  143. data/lib/picky-statistics/application/javascripts/d3/examples/hello-world/hello-event.html +0 -53
  144. data/lib/picky-statistics/application/javascripts/d3/examples/hello-world/hello-node-key.html +0 -25
  145. data/lib/picky-statistics/application/javascripts/d3/examples/hello-world/hello-order.html +0 -25
  146. data/lib/picky-statistics/application/javascripts/d3/examples/hello-world/hello-sort.html +0 -75
  147. data/lib/picky-statistics/application/javascripts/d3/examples/hello-world/hello-transform.html +0 -41
  148. data/lib/picky-statistics/application/javascripts/d3/examples/hello-world/hello-transition-undefined.html +0 -43
  149. data/lib/picky-statistics/application/javascripts/d3/examples/hello-world/hello-transition.html +0 -47
  150. data/lib/picky-statistics/application/javascripts/d3/examples/hello-world/hello-webkit-transition.html +0 -64
  151. data/lib/picky-statistics/application/javascripts/d3/examples/hello-world/select-enter-add.html +0 -29
  152. data/lib/picky-statistics/application/javascripts/d3/examples/hello-world/selectAll-enter-add.html +0 -20
  153. data/lib/picky-statistics/application/javascripts/d3/examples/histogram/histogram.html +0 -80
  154. data/lib/picky-statistics/application/javascripts/d3/examples/horizon/horizon.css +0 -9
  155. data/lib/picky-statistics/application/javascripts/d3/examples/horizon/horizon.html +0 -25
  156. data/lib/picky-statistics/application/javascripts/d3/examples/horizon/horizon.js +0 -43
  157. data/lib/picky-statistics/application/javascripts/d3/examples/horizon/unemployment.json +0 -1
  158. data/lib/picky-statistics/application/javascripts/d3/examples/hull/hull.html +0 -75
  159. data/lib/picky-statistics/application/javascripts/d3/examples/kde/kde.css +0 -9
  160. data/lib/picky-statistics/application/javascripts/d3/examples/kde/kde.html +0 -14
  161. data/lib/picky-statistics/application/javascripts/d3/examples/kde/kde.js +0 -40
  162. data/lib/picky-statistics/application/javascripts/d3/examples/line/line.css +0 -22
  163. data/lib/picky-statistics/application/javascripts/d3/examples/line/line.html +0 -11
  164. data/lib/picky-statistics/application/javascripts/d3/examples/line/line.js +0 -63
  165. data/lib/picky-statistics/application/javascripts/d3/examples/marimekko/marimekko.html +0 -116
  166. data/lib/picky-statistics/application/javascripts/d3/examples/marimekko/marimekko.json +0 -18
  167. data/lib/picky-statistics/application/javascripts/d3/examples/marker/marker.html +0 -169
  168. data/lib/picky-statistics/application/javascripts/d3/examples/mercator/mercator.html +0 -133
  169. data/lib/picky-statistics/application/javascripts/d3/examples/moire/moire.html +0 -53
  170. data/lib/picky-statistics/application/javascripts/d3/examples/node-canvas/us-counties.js +0 -70
  171. data/lib/picky-statistics/application/javascripts/d3/examples/pack/pack.css +0 -15
  172. data/lib/picky-statistics/application/javascripts/d3/examples/pack/pack.html +0 -14
  173. data/lib/picky-statistics/application/javascripts/d3/examples/pack/pack.js +0 -33
  174. data/lib/picky-statistics/application/javascripts/d3/examples/parallel/cars.csv +0 -407
  175. data/lib/picky-statistics/application/javascripts/d3/examples/parallel/parallel.html +0 -134
  176. data/lib/picky-statistics/application/javascripts/d3/examples/partition/partition-icicle-zoom.html +0 -59
  177. data/lib/picky-statistics/application/javascripts/d3/examples/partition/partition-icicle.html +0 -45
  178. data/lib/picky-statistics/application/javascripts/d3/examples/partition/partition-sunburst-zoom.html +0 -72
  179. data/lib/picky-statistics/application/javascripts/d3/examples/partition/partition-sunburst.html +0 -21
  180. data/lib/picky-statistics/application/javascripts/d3/examples/partition/partition-sunburst.js +0 -72
  181. data/lib/picky-statistics/application/javascripts/d3/examples/pie/pie-transition.html +0 -69
  182. data/lib/picky-statistics/application/javascripts/d3/examples/pie/pie.html +0 -51
  183. data/lib/picky-statistics/application/javascripts/d3/examples/population/population.css +0 -28
  184. data/lib/picky-statistics/application/javascripts/d3/examples/population/population.csv +0 -571
  185. data/lib/picky-statistics/application/javascripts/d3/examples/population/population.html +0 -13
  186. data/lib/picky-statistics/application/javascripts/d3/examples/population/population.js +0 -126
  187. data/lib/picky-statistics/application/javascripts/d3/examples/qq/qq.css +0 -18
  188. data/lib/picky-statistics/application/javascripts/d3/examples/qq/qq.html +0 -21
  189. data/lib/picky-statistics/application/javascripts/d3/examples/qq/qq.js +0 -66
  190. data/lib/picky-statistics/application/javascripts/d3/examples/qq/stats.js +0 -28
  191. data/lib/picky-statistics/application/javascripts/d3/examples/qq/turkers.json +0 -1
  192. data/lib/picky-statistics/application/javascripts/d3/examples/quadtree/quadtree.html +0 -114
  193. data/lib/picky-statistics/application/javascripts/d3/examples/showreel/showreel.html +0 -661
  194. data/lib/picky-statistics/application/javascripts/d3/examples/sizzle/sizzle.html +0 -27
  195. data/lib/picky-statistics/application/javascripts/d3/examples/sort/sort.css +0 -4
  196. data/lib/picky-statistics/application/javascripts/d3/examples/sort/sort.html +0 -12
  197. data/lib/picky-statistics/application/javascripts/d3/examples/sort/sort.js +0 -112
  198. data/lib/picky-statistics/application/javascripts/d3/examples/spline/spline.css +0 -30
  199. data/lib/picky-statistics/application/javascripts/d3/examples/spline/spline.html +0 -14
  200. data/lib/picky-statistics/application/javascripts/d3/examples/spline/spline.js +0 -113
  201. data/lib/picky-statistics/application/javascripts/d3/examples/splom/flowers.json +0 -1
  202. data/lib/picky-statistics/application/javascripts/d3/examples/splom/splom.css +0 -49
  203. data/lib/picky-statistics/application/javascripts/d3/examples/splom/splom.html +0 -13
  204. data/lib/picky-statistics/application/javascripts/d3/examples/splom/splom.js +0 -119
  205. data/lib/picky-statistics/application/javascripts/d3/examples/stream/stack.css +0 -7
  206. data/lib/picky-statistics/application/javascripts/d3/examples/stream/stack.html +0 -22
  207. data/lib/picky-statistics/application/javascripts/d3/examples/stream/stack.js +0 -119
  208. data/lib/picky-statistics/application/javascripts/d3/examples/stream/stream.css +0 -3
  209. data/lib/picky-statistics/application/javascripts/d3/examples/stream/stream.html +0 -19
  210. data/lib/picky-statistics/application/javascripts/d3/examples/stream/stream.js +0 -42
  211. data/lib/picky-statistics/application/javascripts/d3/examples/stream/stream_layers.js +0 -33
  212. data/lib/picky-statistics/application/javascripts/d3/examples/superformula/dot.html +0 -104
  213. data/lib/picky-statistics/application/javascripts/d3/examples/superformula/explorer.html +0 -120
  214. data/lib/picky-statistics/application/javascripts/d3/examples/superformula/superformula.html +0 -70
  215. data/lib/picky-statistics/application/javascripts/d3/examples/superformula/superformula.js +0 -98
  216. data/lib/picky-statistics/application/javascripts/d3/examples/symbol-map/symbol-map.html +0 -67
  217. data/lib/picky-statistics/application/javascripts/d3/examples/touch/touch.html +0 -65
  218. data/lib/picky-statistics/application/javascripts/d3/examples/transform/test.html +0 -85
  219. data/lib/picky-statistics/application/javascripts/d3/examples/transform/transform.html +0 -60
  220. data/lib/picky-statistics/application/javascripts/d3/examples/tree/tree-dynamic.html +0 -111
  221. data/lib/picky-statistics/application/javascripts/d3/examples/tree/tree-interactive.html +0 -172
  222. data/lib/picky-statistics/application/javascripts/d3/examples/tree/tree-radial.html +0 -14
  223. data/lib/picky-statistics/application/javascripts/d3/examples/tree/tree-radial.js +0 -40
  224. data/lib/picky-statistics/application/javascripts/d3/examples/tree/tree.css +0 -15
  225. data/lib/picky-statistics/application/javascripts/d3/examples/tree/tree.html +0 -14
  226. data/lib/picky-statistics/application/javascripts/d3/examples/tree/tree.js +0 -39
  227. data/lib/picky-statistics/application/javascripts/d3/examples/treemap/treemap-svg.html +0 -22
  228. data/lib/picky-statistics/application/javascripts/d3/examples/treemap/treemap-svg.js +0 -34
  229. data/lib/picky-statistics/application/javascripts/d3/examples/treemap/treemap.css +0 -8
  230. data/lib/picky-statistics/application/javascripts/d3/examples/treemap/treemap.html +0 -22
  231. data/lib/picky-statistics/application/javascripts/d3/examples/treemap/treemap.js +0 -53
  232. data/lib/picky-statistics/application/javascripts/d3/examples/voroboids/boid.js +0 -235
  233. data/lib/picky-statistics/application/javascripts/d3/examples/voroboids/voroboids.css +0 -15
  234. data/lib/picky-statistics/application/javascripts/d3/examples/voroboids/voroboids.html +0 -14
  235. data/lib/picky-statistics/application/javascripts/d3/examples/voroboids/voroboids.js +0 -65
  236. data/lib/picky-statistics/application/javascripts/d3/examples/voronoi/voronoi.css +0 -16
  237. data/lib/picky-statistics/application/javascripts/d3/examples/voronoi/voronoi.html +0 -15
  238. data/lib/picky-statistics/application/javascripts/d3/examples/voronoi/voronoi.js +0 -34
  239. data/lib/picky-statistics/application/javascripts/d3/examples/zoom-pan/zoom-pan-transform.html +0 -96
  240. data/lib/picky-statistics/application/javascripts/d3/examples/zoom-pan/zoom-pan.html +0 -120
  241. data/lib/picky-statistics/application/javascripts/d3/examples/zoom/dji.csv +0 -5233
  242. data/lib/picky-statistics/application/javascripts/d3/examples/zoom/zoom.html +0 -162
  243. data/lib/picky-statistics/application/javascripts/d3/lib/colorbrewer/LICENSE +0 -38
  244. data/lib/picky-statistics/application/javascripts/d3/lib/colorbrewer/colorbrewer.css +0 -1327
  245. data/lib/picky-statistics/application/javascripts/d3/lib/colorbrewer/colorbrewer.js +0 -32
  246. data/lib/picky-statistics/application/javascripts/d3/lib/jit/LICENSE +0 -27
  247. data/lib/picky-statistics/application/javascripts/d3/lib/jquery-ui/LICENSE +0 -25
  248. data/lib/picky-statistics/application/javascripts/d3/lib/jquery-ui/images/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
  249. data/lib/picky-statistics/application/javascripts/d3/lib/jquery-ui/images/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
  250. data/lib/picky-statistics/application/javascripts/d3/lib/jquery-ui/images/ui-bg_flat_10_000000_40x100.png +0 -0
  251. data/lib/picky-statistics/application/javascripts/d3/lib/jquery-ui/images/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
  252. data/lib/picky-statistics/application/javascripts/d3/lib/jquery-ui/images/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
  253. data/lib/picky-statistics/application/javascripts/d3/lib/jquery-ui/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  254. data/lib/picky-statistics/application/javascripts/d3/lib/jquery-ui/images/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
  255. data/lib/picky-statistics/application/javascripts/d3/lib/jquery-ui/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
  256. data/lib/picky-statistics/application/javascripts/d3/lib/jquery-ui/images/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
  257. data/lib/picky-statistics/application/javascripts/d3/lib/jquery-ui/images/ui-icons_222222_256x240.png +0 -0
  258. data/lib/picky-statistics/application/javascripts/d3/lib/jquery-ui/images/ui-icons_228ef1_256x240.png +0 -0
  259. data/lib/picky-statistics/application/javascripts/d3/lib/jquery-ui/images/ui-icons_ef8c08_256x240.png +0 -0
  260. data/lib/picky-statistics/application/javascripts/d3/lib/jquery-ui/images/ui-icons_ffd27a_256x240.png +0 -0
  261. data/lib/picky-statistics/application/javascripts/d3/lib/jquery-ui/images/ui-icons_ffffff_256x240.png +0 -0
  262. data/lib/picky-statistics/application/javascripts/d3/lib/jquery-ui/jquery-ui.css +0 -318
  263. data/lib/picky-statistics/application/javascripts/d3/lib/jquery-ui/jquery-ui.min.js +0 -83
  264. data/lib/picky-statistics/application/javascripts/d3/lib/jquery/LICENSE +0 -20
  265. data/lib/picky-statistics/application/javascripts/d3/lib/jquery/jquery.js +0 -6883
  266. data/lib/picky-statistics/application/javascripts/d3/lib/jquery/jquery.min.js +0 -166
  267. data/lib/picky-statistics/application/javascripts/d3/lib/polymaps/LICENSE +0 -28
  268. data/lib/picky-statistics/application/javascripts/d3/lib/protovis/LICENSE +0 -27
  269. data/lib/picky-statistics/application/javascripts/d3/lib/science/LICENSE +0 -26
  270. data/lib/picky-statistics/application/javascripts/d3/lib/science/science.js +0 -225
  271. data/lib/picky-statistics/application/javascripts/d3/lib/science/science.lin.js +0 -27
  272. data/lib/picky-statistics/application/javascripts/d3/lib/science/science.lin.min.js +0 -1
  273. data/lib/picky-statistics/application/javascripts/d3/lib/science/science.min.js +0 -1
  274. data/lib/picky-statistics/application/javascripts/d3/lib/science/science.stats.js +0 -720
  275. data/lib/picky-statistics/application/javascripts/d3/lib/science/science.stats.min.js +0 -1
  276. data/lib/picky-statistics/application/javascripts/d3/lib/sizzle/LICENSE +0 -24
  277. data/lib/picky-statistics/application/javascripts/d3/lib/sizzle/sizzle.js +0 -1376
  278. data/lib/picky-statistics/application/javascripts/d3/lib/sizzle/sizzle.min.js +0 -28
  279. data/lib/picky-statistics/application/javascripts/d3/package.json +0 -28
  280. data/lib/picky-statistics/application/javascripts/d3/src/behavior/behavior.js +0 -1
  281. data/lib/picky-statistics/application/javascripts/d3/src/behavior/drag.js +0 -125
  282. data/lib/picky-statistics/application/javascripts/d3/src/behavior/zoom.js +0 -242
  283. data/lib/picky-statistics/application/javascripts/d3/src/chart/box.js +0 -297
  284. data/lib/picky-statistics/application/javascripts/d3/src/chart/bullet.js +0 -237
  285. data/lib/picky-statistics/application/javascripts/d3/src/chart/chart.js +0 -1
  286. data/lib/picky-statistics/application/javascripts/d3/src/chart/horizon.js +0 -203
  287. data/lib/picky-statistics/application/javascripts/d3/src/chart/qq.js +0 -245
  288. data/lib/picky-statistics/application/javascripts/d3/src/compat/date.js +0 -3
  289. data/lib/picky-statistics/application/javascripts/d3/src/compat/style.js +0 -9
  290. data/lib/picky-statistics/application/javascripts/d3/src/core/array.js +0 -29
  291. data/lib/picky-statistics/application/javascripts/d3/src/core/ascending.js +0 -3
  292. data/lib/picky-statistics/application/javascripts/d3/src/core/bisect.js +0 -38
  293. data/lib/picky-statistics/application/javascripts/d3/src/core/collapse.js +0 -3
  294. data/lib/picky-statistics/application/javascripts/d3/src/core/core.js +0 -1
  295. data/lib/picky-statistics/application/javascripts/d3/src/core/descending.js +0 -3
  296. data/lib/picky-statistics/application/javascripts/d3/src/core/dispatch.js +0 -60
  297. data/lib/picky-statistics/application/javascripts/d3/src/core/ease.js +0 -128
  298. data/lib/picky-statistics/application/javascripts/d3/src/core/entries.js +0 -5
  299. data/lib/picky-statistics/application/javascripts/d3/src/core/event.js +0 -6
  300. data/lib/picky-statistics/application/javascripts/d3/src/core/extent.js +0 -21
  301. data/lib/picky-statistics/application/javascripts/d3/src/core/first.js +0 -13
  302. data/lib/picky-statistics/application/javascripts/d3/src/core/format.js +0 -100
  303. data/lib/picky-statistics/application/javascripts/d3/src/core/formatPrefix.js +0 -20
  304. data/lib/picky-statistics/application/javascripts/d3/src/core/functor.js +0 -3
  305. data/lib/picky-statistics/application/javascripts/d3/src/core/hsl.js +0 -63
  306. data/lib/picky-statistics/application/javascripts/d3/src/core/html.js +0 -10
  307. data/lib/picky-statistics/application/javascripts/d3/src/core/interpolate.js +0 -183
  308. data/lib/picky-statistics/application/javascripts/d3/src/core/json.js +0 -5
  309. data/lib/picky-statistics/application/javascripts/d3/src/core/keys.js +0 -5
  310. data/lib/picky-statistics/application/javascripts/d3/src/core/last.js +0 -13
  311. data/lib/picky-statistics/application/javascripts/d3/src/core/max.js +0 -14
  312. data/lib/picky-statistics/application/javascripts/d3/src/core/mean.js +0 -13
  313. data/lib/picky-statistics/application/javascripts/d3/src/core/median.js +0 -5
  314. data/lib/picky-statistics/application/javascripts/d3/src/core/merge.js +0 -3
  315. data/lib/picky-statistics/application/javascripts/d3/src/core/min.js +0 -14
  316. data/lib/picky-statistics/application/javascripts/d3/src/core/nest.js +0 -87
  317. data/lib/picky-statistics/application/javascripts/d3/src/core/noop.js +0 -1
  318. data/lib/picky-statistics/application/javascripts/d3/src/core/ns.js +0 -17
  319. data/lib/picky-statistics/application/javascripts/d3/src/core/number.js +0 -3
  320. data/lib/picky-statistics/application/javascripts/d3/src/core/permute.js +0 -7
  321. data/lib/picky-statistics/application/javascripts/d3/src/core/quantile.js +0 -8
  322. data/lib/picky-statistics/application/javascripts/d3/src/core/random.js +0 -15
  323. data/lib/picky-statistics/application/javascripts/d3/src/core/range.js +0 -21
  324. data/lib/picky-statistics/application/javascripts/d3/src/core/rebind.js +0 -16
  325. data/lib/picky-statistics/application/javascripts/d3/src/core/requote.js +0 -5
  326. data/lib/picky-statistics/application/javascripts/d3/src/core/rgb.js +0 -287
  327. data/lib/picky-statistics/application/javascripts/d3/src/core/round.js +0 -5
  328. data/lib/picky-statistics/application/javascripts/d3/src/core/selection-append.js +0 -15
  329. data/lib/picky-statistics/application/javascripts/d3/src/core/selection-attr.js +0 -44
  330. data/lib/picky-statistics/application/javascripts/d3/src/core/selection-call.js +0 -13
  331. data/lib/picky-statistics/application/javascripts/d3/src/core/selection-classed.js +0 -61
  332. data/lib/picky-statistics/application/javascripts/d3/src/core/selection-data.js +0 -110
  333. data/lib/picky-statistics/application/javascripts/d3/src/core/selection-each.js +0 -9
  334. data/lib/picky-statistics/application/javascripts/d3/src/core/selection-empty.js +0 -3
  335. data/lib/picky-statistics/application/javascripts/d3/src/core/selection-enter-select.js +0 -24
  336. data/lib/picky-statistics/application/javascripts/d3/src/core/selection-enter.js +0 -11
  337. data/lib/picky-statistics/application/javascripts/d3/src/core/selection-filter.js +0 -26
  338. data/lib/picky-statistics/application/javascripts/d3/src/core/selection-html.js +0 -6
  339. data/lib/picky-statistics/application/javascripts/d3/src/core/selection-insert.js +0 -20
  340. data/lib/picky-statistics/application/javascripts/d3/src/core/selection-map.js +0 -5
  341. data/lib/picky-statistics/application/javascripts/d3/src/core/selection-node.js +0 -9
  342. data/lib/picky-statistics/application/javascripts/d3/src/core/selection-on.js +0 -34
  343. data/lib/picky-statistics/application/javascripts/d3/src/core/selection-order.js +0 -11
  344. data/lib/picky-statistics/application/javascripts/d3/src/core/selection-property.js +0 -23
  345. data/lib/picky-statistics/application/javascripts/d3/src/core/selection-remove.js +0 -9
  346. data/lib/picky-statistics/application/javascripts/d3/src/core/selection-root.js +0 -18
  347. data/lib/picky-statistics/application/javascripts/d3/src/core/selection-select.js +0 -30
  348. data/lib/picky-statistics/application/javascripts/d3/src/core/selection-selectAll.js +0 -24
  349. data/lib/picky-statistics/application/javascripts/d3/src/core/selection-sort.js +0 -12
  350. data/lib/picky-statistics/application/javascripts/d3/src/core/selection-style.js +0 -26
  351. data/lib/picky-statistics/application/javascripts/d3/src/core/selection-text.js +0 -6
  352. data/lib/picky-statistics/application/javascripts/d3/src/core/selection-transition.js +0 -14
  353. data/lib/picky-statistics/application/javascripts/d3/src/core/selection.js +0 -25
  354. data/lib/picky-statistics/application/javascripts/d3/src/core/split.js +0 -21
  355. data/lib/picky-statistics/application/javascripts/d3/src/core/sum.js +0 -14
  356. data/lib/picky-statistics/application/javascripts/d3/src/core/text.js +0 -10
  357. data/lib/picky-statistics/application/javascripts/d3/src/core/this.js +0 -3
  358. data/lib/picky-statistics/application/javascripts/d3/src/core/timer.js +0 -104
  359. data/lib/picky-statistics/application/javascripts/d3/src/core/transform.js +0 -58
  360. data/lib/picky-statistics/application/javascripts/d3/src/core/transition-attr.js +0 -23
  361. data/lib/picky-statistics/application/javascripts/d3/src/core/transition-delay.js +0 -6
  362. data/lib/picky-statistics/application/javascripts/d3/src/core/transition-duration.js +0 -6
  363. data/lib/picky-statistics/application/javascripts/d3/src/core/transition-each.js +0 -9
  364. data/lib/picky-statistics/application/javascripts/d3/src/core/transition-remove.js +0 -6
  365. data/lib/picky-statistics/application/javascripts/d3/src/core/transition-select.js +0 -22
  366. data/lib/picky-statistics/application/javascripts/d3/src/core/transition-selectAll.js +0 -22
  367. data/lib/picky-statistics/application/javascripts/d3/src/core/transition-style.js +0 -14
  368. data/lib/picky-statistics/application/javascripts/d3/src/core/transition-text.js +0 -7
  369. data/lib/picky-statistics/application/javascripts/d3/src/core/transition-transition.js +0 -3
  370. data/lib/picky-statistics/application/javascripts/d3/src/core/transition.js +0 -125
  371. data/lib/picky-statistics/application/javascripts/d3/src/core/transpose.js +0 -3
  372. data/lib/picky-statistics/application/javascripts/d3/src/core/uninterpolate.js +0 -9
  373. data/lib/picky-statistics/application/javascripts/d3/src/core/values.js +0 -5
  374. data/lib/picky-statistics/application/javascripts/d3/src/core/xhr.js +0 -10
  375. data/lib/picky-statistics/application/javascripts/d3/src/core/xml.js +0 -10
  376. data/lib/picky-statistics/application/javascripts/d3/src/core/zip.js +0 -13
  377. data/lib/picky-statistics/application/javascripts/d3/src/csv/csv.js +0 -5
  378. data/lib/picky-statistics/application/javascripts/d3/src/csv/format.js +0 -13
  379. data/lib/picky-statistics/application/javascripts/d3/src/csv/parse.js +0 -73
  380. data/lib/picky-statistics/application/javascripts/d3/src/end.js +0 -1
  381. data/lib/picky-statistics/application/javascripts/d3/src/externs.js +0 -6
  382. data/lib/picky-statistics/application/javascripts/d3/src/geo/albers.js +0 -126
  383. data/lib/picky-statistics/application/javascripts/d3/src/geo/azimuthal.js +0 -80
  384. data/lib/picky-statistics/application/javascripts/d3/src/geo/bonne.js +0 -70
  385. data/lib/picky-statistics/application/javascripts/d3/src/geo/bounds.js +0 -83
  386. data/lib/picky-statistics/application/javascripts/d3/src/geo/circle.js +0 -146
  387. data/lib/picky-statistics/application/javascripts/d3/src/geo/equirectangular.js +0 -36
  388. data/lib/picky-statistics/application/javascripts/d3/src/geo/geo.js +0 -3
  389. data/lib/picky-statistics/application/javascripts/d3/src/geo/greatArc.js +0 -80
  390. data/lib/picky-statistics/application/javascripts/d3/src/geo/greatCircle.js +0 -1
  391. data/lib/picky-statistics/application/javascripts/d3/src/geo/mercator.js +0 -36
  392. data/lib/picky-statistics/application/javascripts/d3/src/geo/path.js +0 -271
  393. data/lib/picky-statistics/application/javascripts/d3/src/geo/type.js +0 -5
  394. data/lib/picky-statistics/application/javascripts/d3/src/geom/contour.js +0 -78
  395. data/lib/picky-statistics/application/javascripts/d3/src/geom/delaunay.js +0 -31
  396. data/lib/picky-statistics/application/javascripts/d3/src/geom/geom.js +0 -1
  397. data/lib/picky-statistics/application/javascripts/d3/src/geom/hull.js +0 -98
  398. data/lib/picky-statistics/application/javascripts/d3/src/geom/polygon.js +0 -88
  399. data/lib/picky-statistics/application/javascripts/d3/src/geom/quadtree.js +0 -129
  400. data/lib/picky-statistics/application/javascripts/d3/src/geom/voronoi.js +0 -409
  401. data/lib/picky-statistics/application/javascripts/d3/src/layout/bundle.js +0 -57
  402. data/lib/picky-statistics/application/javascripts/d3/src/layout/chord.js +0 -153
  403. data/lib/picky-statistics/application/javascripts/d3/src/layout/cluster.js +0 -78
  404. data/lib/picky-statistics/application/javascripts/d3/src/layout/force.js +0 -342
  405. data/lib/picky-statistics/application/javascripts/d3/src/layout/hierarchy.js +0 -120
  406. data/lib/picky-statistics/application/javascripts/d3/src/layout/histogram.js +0 -102
  407. data/lib/picky-statistics/application/javascripts/d3/src/layout/layout.js +0 -1
  408. data/lib/picky-statistics/application/javascripts/d3/src/layout/pack.js +0 -203
  409. data/lib/picky-statistics/application/javascripts/d3/src/layout/partition.js +0 -48
  410. data/lib/picky-statistics/application/javascripts/d3/src/layout/pie.js +0 -95
  411. data/lib/picky-statistics/application/javascripts/d3/src/layout/stack.js +0 -237
  412. data/lib/picky-statistics/application/javascripts/d3/src/layout/tree.js +0 -237
  413. data/lib/picky-statistics/application/javascripts/d3/src/layout/treemap.js +0 -217
  414. data/lib/picky-statistics/application/javascripts/d3/src/package.js +0 -18
  415. data/lib/picky-statistics/application/javascripts/d3/src/scale/bilinear.js +0 -7
  416. data/lib/picky-statistics/application/javascripts/d3/src/scale/category.js +0 -54
  417. data/lib/picky-statistics/application/javascripts/d3/src/scale/linear.js +0 -111
  418. data/lib/picky-statistics/application/javascripts/d3/src/scale/log.js +0 -85
  419. data/lib/picky-statistics/application/javascripts/d3/src/scale/nice.js +0 -24
  420. data/lib/picky-statistics/application/javascripts/d3/src/scale/ordinal.js +0 -81
  421. data/lib/picky-statistics/application/javascripts/d3/src/scale/polylinear.js +0 -16
  422. data/lib/picky-statistics/application/javascripts/d3/src/scale/pow.js +0 -54
  423. data/lib/picky-statistics/application/javascripts/d3/src/scale/quantile.js +0 -43
  424. data/lib/picky-statistics/application/javascripts/d3/src/scale/quantize.js +0 -36
  425. data/lib/picky-statistics/application/javascripts/d3/src/scale/scale.js +0 -10
  426. data/lib/picky-statistics/application/javascripts/d3/src/scale/sqrt.js +0 -3
  427. data/lib/picky-statistics/application/javascripts/d3/src/start.js +0 -1
  428. data/lib/picky-statistics/application/javascripts/d3/src/svg/arc.js +0 -95
  429. data/lib/picky-statistics/application/javascripts/d3/src/svg/area-radial.js +0 -10
  430. data/lib/picky-statistics/application/javascripts/d3/src/svg/area.js +0 -89
  431. data/lib/picky-statistics/application/javascripts/d3/src/svg/axis.js +0 -200
  432. data/lib/picky-statistics/application/javascripts/d3/src/svg/brush.js +0 -334
  433. data/lib/picky-statistics/application/javascripts/d3/src/svg/chord.js +0 -99
  434. data/lib/picky-statistics/application/javascripts/d3/src/svg/diagonal-radial.js +0 -22
  435. data/lib/picky-statistics/application/javascripts/d3/src/svg/diagonal.js +0 -38
  436. data/lib/picky-statistics/application/javascripts/d3/src/svg/line-radial.js +0 -22
  437. data/lib/picky-statistics/application/javascripts/d3/src/svg/line.js +0 -415
  438. data/lib/picky-statistics/application/javascripts/d3/src/svg/mouse.js +0 -29
  439. data/lib/picky-statistics/application/javascripts/d3/src/svg/svg.js +0 -1
  440. data/lib/picky-statistics/application/javascripts/d3/src/svg/symbol.js +0 -98
  441. data/lib/picky-statistics/application/javascripts/d3/src/svg/touches.js +0 -9
  442. data/lib/picky-statistics/application/javascripts/d3/src/time/day.js +0 -7
  443. data/lib/picky-statistics/application/javascripts/d3/src/time/days.js +0 -11
  444. data/lib/picky-statistics/application/javascripts/d3/src/time/format-iso.js +0 -13
  445. data/lib/picky-statistics/application/javascripts/d3/src/time/format-utc.js +0 -53
  446. data/lib/picky-statistics/application/javascripts/d3/src/time/format.js +0 -327
  447. data/lib/picky-statistics/application/javascripts/d3/src/time/hour.js +0 -8
  448. data/lib/picky-statistics/application/javascripts/d3/src/time/hours.js +0 -11
  449. data/lib/picky-statistics/application/javascripts/d3/src/time/minute.js +0 -5
  450. data/lib/picky-statistics/application/javascripts/d3/src/time/minutes.js +0 -11
  451. data/lib/picky-statistics/application/javascripts/d3/src/time/month.js +0 -7
  452. data/lib/picky-statistics/application/javascripts/d3/src/time/months.js +0 -11
  453. data/lib/picky-statistics/application/javascripts/d3/src/time/range.js +0 -16
  454. data/lib/picky-statistics/application/javascripts/d3/src/time/scale-utc.js +0 -36
  455. data/lib/picky-statistics/application/javascripts/d3/src/time/scale.js +0 -118
  456. data/lib/picky-statistics/application/javascripts/d3/src/time/second.js +0 -5
  457. data/lib/picky-statistics/application/javascripts/d3/src/time/seconds.js +0 -7
  458. data/lib/picky-statistics/application/javascripts/d3/src/time/time.js +0 -3
  459. data/lib/picky-statistics/application/javascripts/d3/src/time/week.js +0 -9
  460. data/lib/picky-statistics/application/javascripts/d3/src/time/weeks.js +0 -11
  461. data/lib/picky-statistics/application/javascripts/d3/src/time/year.js +0 -7
  462. data/lib/picky-statistics/application/javascripts/d3/src/time/years.js +0 -11
  463. data/lib/picky-statistics/application/javascripts/d3/test/core/ascending-test.js +0 -47
  464. data/lib/picky-statistics/application/javascripts/d3/test/core/bisect-test.js +0 -103
  465. data/lib/picky-statistics/application/javascripts/d3/test/core/descending-test.js +0 -47
  466. data/lib/picky-statistics/application/javascripts/d3/test/core/dispatch-test.js +0 -129
  467. data/lib/picky-statistics/application/javascripts/d3/test/core/ease-test.js +0 -129
  468. data/lib/picky-statistics/application/javascripts/d3/test/core/entries-test.js +0 -43
  469. data/lib/picky-statistics/application/javascripts/d3/test/core/extent-test.js +0 -51
  470. data/lib/picky-statistics/application/javascripts/d3/test/core/first-test.js +0 -42
  471. data/lib/picky-statistics/application/javascripts/d3/test/core/format-test.js +0 -239
  472. data/lib/picky-statistics/application/javascripts/d3/test/core/formatPrefix-test.js +0 -108
  473. data/lib/picky-statistics/application/javascripts/d3/test/core/functor-test.js +0 -29
  474. data/lib/picky-statistics/application/javascripts/d3/test/core/hsl-test.js +0 -82
  475. data/lib/picky-statistics/application/javascripts/d3/test/core/html-test.js +0 -37
  476. data/lib/picky-statistics/application/javascripts/d3/test/core/interpolate-test.js +0 -209
  477. data/lib/picky-statistics/application/javascripts/d3/test/core/json-test.js +0 -37
  478. data/lib/picky-statistics/application/javascripts/d3/test/core/keys-test.js +0 -31
  479. data/lib/picky-statistics/application/javascripts/d3/test/core/last-test.js +0 -42
  480. data/lib/picky-statistics/application/javascripts/d3/test/core/max-test.js +0 -51
  481. data/lib/picky-statistics/application/javascripts/d3/test/core/mean-test.js +0 -43
  482. data/lib/picky-statistics/application/javascripts/d3/test/core/median-test.js +0 -43
  483. data/lib/picky-statistics/application/javascripts/d3/test/core/merge-test.js +0 -27
  484. data/lib/picky-statistics/application/javascripts/d3/test/core/min-test.js +0 -50
  485. data/lib/picky-statistics/application/javascripts/d3/test/core/nest-test.js +0 -236
  486. data/lib/picky-statistics/application/javascripts/d3/test/core/ns-test.js +0 -58
  487. data/lib/picky-statistics/application/javascripts/d3/test/core/permute-test.js +0 -53
  488. data/lib/picky-statistics/application/javascripts/d3/test/core/quantile-test.js +0 -50
  489. data/lib/picky-statistics/application/javascripts/d3/test/core/range-test.js +0 -93
  490. data/lib/picky-statistics/application/javascripts/d3/test/core/rebind-test.js +0 -52
  491. data/lib/picky-statistics/application/javascripts/d3/test/core/requote-test.js +0 -53
  492. data/lib/picky-statistics/application/javascripts/d3/test/core/rgb-test.js +0 -89
  493. data/lib/picky-statistics/application/javascripts/d3/test/core/round-test.js +0 -70
  494. data/lib/picky-statistics/application/javascripts/d3/test/core/select-test.js +0 -42
  495. data/lib/picky-statistics/application/javascripts/d3/test/core/selectAll-test.js +0 -46
  496. data/lib/picky-statistics/application/javascripts/d3/test/core/selection-append-test.js +0 -123
  497. data/lib/picky-statistics/application/javascripts/d3/test/core/selection-attr-test.js +0 -153
  498. data/lib/picky-statistics/application/javascripts/d3/test/core/selection-call-test.js +0 -71
  499. data/lib/picky-statistics/application/javascripts/d3/test/core/selection-classed-test.js +0 -219
  500. data/lib/picky-statistics/application/javascripts/d3/test/core/selection-data-test.js +0 -168
  501. data/lib/picky-statistics/application/javascripts/d3/test/core/selection-each-test.js +0 -83
  502. data/lib/picky-statistics/application/javascripts/d3/test/core/selection-empty-test.js +0 -51
  503. data/lib/picky-statistics/application/javascripts/d3/test/core/selection-filter-test.js +0 -70
  504. data/lib/picky-statistics/application/javascripts/d3/test/core/selection-html-test.js +0 -121
  505. data/lib/picky-statistics/application/javascripts/d3/test/core/selection-insert-test.js +0 -136
  506. data/lib/picky-statistics/application/javascripts/d3/test/core/selection-map-test.js +0 -47
  507. data/lib/picky-statistics/application/javascripts/d3/test/core/selection-node-test.js +0 -50
  508. data/lib/picky-statistics/application/javascripts/d3/test/core/selection-on-test.js +0 -95
  509. data/lib/picky-statistics/application/javascripts/d3/test/core/selection-order-test.js +0 -32
  510. data/lib/picky-statistics/application/javascripts/d3/test/core/selection-property-test.js +0 -91
  511. data/lib/picky-statistics/application/javascripts/d3/test/core/selection-remove-test.js +0 -39
  512. data/lib/picky-statistics/application/javascripts/d3/test/core/selection-select-test.js +0 -125
  513. data/lib/picky-statistics/application/javascripts/d3/test/core/selection-selectAll-test.js +0 -128
  514. data/lib/picky-statistics/application/javascripts/d3/test/core/selection-sort-test.js +0 -59
  515. data/lib/picky-statistics/application/javascripts/d3/test/core/selection-style-test.js +0 -100
  516. data/lib/picky-statistics/application/javascripts/d3/test/core/selection-test.js +0 -35
  517. data/lib/picky-statistics/application/javascripts/d3/test/core/selection-text-test.js +0 -109
  518. data/lib/picky-statistics/application/javascripts/d3/test/core/split-test.js +0 -34
  519. data/lib/picky-statistics/application/javascripts/d3/test/core/sum-test.js +0 -47
  520. data/lib/picky-statistics/application/javascripts/d3/test/core/text-test.js +0 -48
  521. data/lib/picky-statistics/application/javascripts/d3/test/core/timer-test.js +0 -62
  522. data/lib/picky-statistics/application/javascripts/d3/test/core/transition-test-attr.js +0 -54
  523. data/lib/picky-statistics/application/javascripts/d3/test/core/transition-test-attrTween.js +0 -67
  524. data/lib/picky-statistics/application/javascripts/d3/test/core/transition-test-call.js +0 -33
  525. data/lib/picky-statistics/application/javascripts/d3/test/core/transition-test-delay.js +0 -41
  526. data/lib/picky-statistics/application/javascripts/d3/test/core/transition-test-duration.js +0 -41
  527. data/lib/picky-statistics/application/javascripts/d3/test/core/transition-test-each.js +0 -166
  528. data/lib/picky-statistics/application/javascripts/d3/test/core/transition-test-id.js +0 -20
  529. data/lib/picky-statistics/application/javascripts/d3/test/core/transition-test-remove.js +0 -46
  530. data/lib/picky-statistics/application/javascripts/d3/test/core/transition-test-select.js +0 -63
  531. data/lib/picky-statistics/application/javascripts/d3/test/core/transition-test-selectAll.js +0 -59
  532. data/lib/picky-statistics/application/javascripts/d3/test/core/transition-test-style.js +0 -49
  533. data/lib/picky-statistics/application/javascripts/d3/test/core/transition-test-styleTween.js +0 -73
  534. data/lib/picky-statistics/application/javascripts/d3/test/core/transition-test-text.js +0 -30
  535. data/lib/picky-statistics/application/javascripts/d3/test/core/transition-test-time.js +0 -36
  536. data/lib/picky-statistics/application/javascripts/d3/test/core/transition-test-transition.js +0 -60
  537. data/lib/picky-statistics/application/javascripts/d3/test/core/transition-test-tween.js +0 -71
  538. data/lib/picky-statistics/application/javascripts/d3/test/core/transition-test.js +0 -66
  539. data/lib/picky-statistics/application/javascripts/d3/test/core/transpose-test.js +0 -32
  540. data/lib/picky-statistics/application/javascripts/d3/test/core/values-test.js +0 -35
  541. data/lib/picky-statistics/application/javascripts/d3/test/core/version-test.js +0 -18
  542. data/lib/picky-statistics/application/javascripts/d3/test/core/xhr-test.js +0 -56
  543. data/lib/picky-statistics/application/javascripts/d3/test/core/xml-test.js +0 -48
  544. data/lib/picky-statistics/application/javascripts/d3/test/core/zip-test.js +0 -32
  545. data/lib/picky-statistics/application/javascripts/d3/test/csv/csv-test.js +0 -38
  546. data/lib/picky-statistics/application/javascripts/d3/test/csv/format-test.js +0 -39
  547. data/lib/picky-statistics/application/javascripts/d3/test/csv/parse-test.js +0 -101
  548. data/lib/picky-statistics/application/javascripts/d3/test/env-assert.js +0 -96
  549. data/lib/picky-statistics/application/javascripts/d3/test/env-fragment.js +0 -8
  550. data/lib/picky-statistics/application/javascripts/d3/test/env-xhr.js +0 -56
  551. data/lib/picky-statistics/application/javascripts/d3/test/env.js +0 -13
  552. data/lib/picky-statistics/application/javascripts/d3/test/geo/albers-test.js +0 -57
  553. data/lib/picky-statistics/application/javascripts/d3/test/geo/azimuthal-test.js +0 -261
  554. data/lib/picky-statistics/application/javascripts/d3/test/geo/bonne-test.js +0 -116
  555. data/lib/picky-statistics/application/javascripts/d3/test/geo/equirectangular-test.js +0 -50
  556. data/lib/picky-statistics/application/javascripts/d3/test/geo/greatArc-test.js +0 -41
  557. data/lib/picky-statistics/application/javascripts/d3/test/geo/mercator-test.js +0 -57
  558. data/lib/picky-statistics/application/javascripts/d3/test/geo/path-test.js +0 -25
  559. data/lib/picky-statistics/application/javascripts/d3/test/geom/polygon-test.js +0 -57
  560. data/lib/picky-statistics/application/javascripts/d3/test/layout/cluster-test.js +0 -39
  561. data/lib/picky-statistics/application/javascripts/d3/test/layout/hierarchy-test.js +0 -30
  562. data/lib/picky-statistics/application/javascripts/d3/test/layout/histogram-test.js +0 -91
  563. data/lib/picky-statistics/application/javascripts/d3/test/layout/pack-test.js +0 -67
  564. data/lib/picky-statistics/application/javascripts/d3/test/layout/partition-test.js +0 -50
  565. data/lib/picky-statistics/application/javascripts/d3/test/layout/tree-test.js +0 -41
  566. data/lib/picky-statistics/application/javascripts/d3/test/layout/treemap-test.js +0 -190
  567. data/lib/picky-statistics/application/javascripts/d3/test/scale/category-test.js +0 -74
  568. data/lib/picky-statistics/application/javascripts/d3/test/scale/linear-test.js +0 -243
  569. data/lib/picky-statistics/application/javascripts/d3/test/scale/log-test.js +0 -266
  570. data/lib/picky-statistics/application/javascripts/d3/test/scale/ordinal-test.js +0 -207
  571. data/lib/picky-statistics/application/javascripts/d3/test/scale/pow-test.js +0 -263
  572. data/lib/picky-statistics/application/javascripts/d3/test/scale/quantile-test.js +0 -64
  573. data/lib/picky-statistics/application/javascripts/d3/test/scale/quantize-test.js +0 -69
  574. data/lib/picky-statistics/application/javascripts/d3/test/scale/sqrt-test.js +0 -256
  575. data/lib/picky-statistics/application/javascripts/d3/test/svg/arc-test.js +0 -147
  576. data/lib/picky-statistics/application/javascripts/d3/test/svg/area-radial-test.js +0 -200
  577. data/lib/picky-statistics/application/javascripts/d3/test/svg/area-test.js +0 -192
  578. data/lib/picky-statistics/application/javascripts/d3/test/svg/axis-test.js +0 -353
  579. data/lib/picky-statistics/application/javascripts/d3/test/svg/line-radial-test.js +0 -125
  580. data/lib/picky-statistics/application/javascripts/d3/test/svg/line-test.js +0 -189
  581. data/lib/picky-statistics/application/javascripts/d3/test/svg/symbol-test.js +0 -96
  582. data/lib/picky-statistics/application/javascripts/d3/test/time/day-test.js +0 -65
  583. data/lib/picky-statistics/application/javascripts/d3/test/time/days-test.js +0 -105
  584. data/lib/picky-statistics/application/javascripts/d3/test/time/format-test.js +0 -467
  585. data/lib/picky-statistics/application/javascripts/d3/test/time/hour-test.js +0 -103
  586. data/lib/picky-statistics/application/javascripts/d3/test/time/hours-test.js +0 -135
  587. data/lib/picky-statistics/application/javascripts/d3/test/time/minute-test.js +0 -43
  588. data/lib/picky-statistics/application/javascripts/d3/test/time/minutes-test.js +0 -101
  589. data/lib/picky-statistics/application/javascripts/d3/test/time/month-test.js +0 -53
  590. data/lib/picky-statistics/application/javascripts/d3/test/time/months-test.js +0 -105
  591. data/lib/picky-statistics/application/javascripts/d3/test/time/scale-test.js +0 -525
  592. data/lib/picky-statistics/application/javascripts/d3/test/time/second-test.js +0 -41
  593. data/lib/picky-statistics/application/javascripts/d3/test/time/seconds-test.js +0 -101
  594. data/lib/picky-statistics/application/javascripts/d3/test/time/week-test.js +0 -59
  595. data/lib/picky-statistics/application/javascripts/d3/test/time/weeks-test.js +0 -105
  596. data/lib/picky-statistics/application/javascripts/d3/test/time/year-test.js +0 -41
  597. data/lib/picky-statistics/application/javascripts/d3/test/time/years-test.js +0 -73
  598. data/lib/picky-statistics/application/javascripts/full_live.js +0 -60
  599. data/lib/picky-statistics/application/javascripts/graph.js +0 -83
  600. data/lib/picky-statistics/application/javascripts/jquery-1.4.4.min.js +0 -167
  601. data/lib/picky-statistics/application/javascripts/jquery.sparkline-1.6.min.js +0 -94
  602. data/lib/picky-statistics/application/javascripts/results.js +0 -86
  603. data/lib/picky-statistics/application/javascripts/rickshaw.js +0 -1
  604. data/lib/picky-statistics/statistics/count.rb +0 -70
  605. data/lib/picky-statistics/statistics/logfile_reader.rb +0 -143
  606. data/spec/lib/picky-statistics/statistics/count_spec.rb +0 -15
  607. data/spec/lib/picky-statistics/statistics/logfile_reader_spec.rb +0 -47
@@ -1,28 +0,0 @@
1
- (function(){function y(a,b,c,d,e,f){e=0;for(var h=d.length;e<h;e++){var g=d[e];if(g){var l=false;for(g=g[a];g;){if(g.sizcache===c){l=d[g.sizset];break}if(g.nodeType===1&&!f){g.sizcache=c;g.sizset=e}if(g.nodeName.toLowerCase()===b){l=g;break}g=g[a]}d[e]=l}}}function z(a,b,c,d,e,f){e=0;for(var h=d.length;e<h;e++){var g=d[e];if(g){var l=false;for(g=g[a];g;){if(g.sizcache===c){l=d[g.sizset];break}if(g.nodeType===1){if(!f){g.sizcache=c;g.sizset=e}if(typeof b!=="string"){if(g===b){l=true;break}}else if(i.filter(b,
2
- [g]).length>0){l=g;break}}g=g[a]}d[e]=l}}}var w=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,x=0,A=Object.prototype.toString,s=false,B=true;[0,0].sort(function(){B=false;return 0});var i=function(a,b,c,d){c=c||[];var e=b=b||document;if(b.nodeType!==1&&b.nodeType!==9)return[];if(!a||typeof a!=="string")return c;var f,h,g,l,p,n=true,m=i.isXML(b),k=[],t=a;do{w.exec("");if(f=w.exec(t)){t=f[3];k.push(f[1]);if(f[2]){l=
3
- f[3];break}}}while(f);if(k.length>1&&E.exec(a))if(k.length===2&&j.relative[k[0]])h=C(k[0]+k[1],b);else for(h=j.relative[k[0]]?[b]:i(k.shift(),b);k.length;){a=k.shift();if(j.relative[a])a+=k.shift();h=C(a,h)}else{if(!d&&k.length>1&&b.nodeType===9&&!m&&j.match.ID.test(k[0])&&!j.match.ID.test(k[k.length-1])){f=i.find(k.shift(),b,m);b=f.expr?i.filter(f.expr,f.set)[0]:f.set[0]}if(b){f=d?{expr:k.pop(),set:o(d)}:i.find(k.pop(),k.length===1&&(k[0]==="~"||k[0]==="+")&&b.parentNode?b.parentNode:b,m);h=f.expr?
4
- i.filter(f.expr,f.set):f.set;if(k.length>0)g=o(h);else n=false;for(;k.length;){f=p=k.pop();if(j.relative[p])f=k.pop();else p="";if(f==null)f=b;j.relative[p](g,f,m)}}else g=[]}g||(g=h);g||i.error(p||a);if(A.call(g)==="[object Array]")if(n)if(b&&b.nodeType===1)for(a=0;g[a]!=null;a++){if(g[a]&&(g[a]===true||g[a].nodeType===1&&i.contains(b,g[a])))c.push(h[a])}else for(a=0;g[a]!=null;a++)g[a]&&g[a].nodeType===1&&c.push(h[a]);else c.push.apply(c,g);else o(g,c);if(l){i(l,e,c,d);i.uniqueSort(c)}return c};
5
- i.uniqueSort=function(a){if(u){s=B;a.sort(u);if(s)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a};i.matches=function(a,b){return i(a,null,null,b)};i.matchesSelector=function(a,b){return i(b,null,null,[a]).length>0};i.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=j.order.length;e<f;e++){var h,g=j.order[e];if(h=j.leftMatch[g].exec(a)){var l=h[1];h.splice(1,1);if(l.substr(l.length-1)!=="\\"){h[1]=(h[1]||"").replace(/\\/g,"");d=j.find[g](h,b,c);if(d!=null){a=a.replace(j.match[g],
6
- "");break}}}}d||(d=typeof b.getElementsByTagName!=="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}};i.filter=function(a,b,c,d){for(var e,f,h=a,g=[],l=b,p=b&&b[0]&&i.isXML(b[0]);a&&b.length;){for(var n in j.filter)if((e=j.leftMatch[n].exec(a))!=null&&e[2]){var m,k,t=j.filter[n];k=e[1];f=false;e.splice(1,1);if(k.substr(k.length-1)!=="\\"){if(l===g)g=[];if(j.preFilter[n])if(e=j.preFilter[n](e,l,c,g,d,p)){if(e===true)continue}else f=m=true;if(e)for(var v=0;(k=l[v])!=null;v++)if(k){m=
7
- t(k,e,v,l);var D=d^!!m;if(c&&m!=null)if(D)f=true;else l[v]=false;else if(D){g.push(k);f=true}}if(m!==undefined){c||(l=g);a=a.replace(j.match[n],"");if(!f)return[];break}}}if(a===h)if(f==null)i.error(a);else break;h=a}return l};i.error=function(a){throw"Syntax error, unrecognized expression: "+a;};var j=i.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,
8
- TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")}},relative:{"+":function(a,b){var c=typeof b==="string",d=c&&!/\W/.test(b);c=c&&
9
- !d;if(d)b=b.toLowerCase();d=0;for(var e=a.length,f;d<e;d++)if(f=a[d]){for(;(f=f.previousSibling)&&f.nodeType!==1;);a[d]=c||f&&f.nodeName.toLowerCase()===b?f||false:f===b}c&&i.filter(b,a,true)},">":function(a,b){var c,d=typeof b==="string",e=0,f=a.length;if(d&&!/\W/.test(b))for(b=b.toLowerCase();e<f;e++){if(c=a[e]){c=c.parentNode;a[e]=c.nodeName.toLowerCase()===b?c:false}}else{for(;e<f;e++)if(c=a[e])a[e]=d?c.parentNode:c.parentNode===b;d&&i.filter(b,a,true)}},"":function(a,b,c){var d,e=x++,f=z;if(typeof b===
10
- "string"&&!/\W/.test(b)){d=b=b.toLowerCase();f=y}f("parentNode",b,e,a,d,c)},"~":function(a,b,c){var d,e=x++,f=z;if(typeof b==="string"&&!/\W/.test(b)){d=b=b.toLowerCase();f=y}f("previousSibling",b,e,a,d,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!=="undefined"&&!c)return(a=b.getElementById(a[1]))&&a.parentNode?[a]:[]},NAME:function(a,b){if(typeof b.getElementsByName!=="undefined"){for(var c=[],d=b.getElementsByName(a[1]),e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);
11
- return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!=="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(/\\/g,"")+" ";if(f)return a;f=0;for(var h;(h=b[f])!=null;f++)if(h)if(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0))c||d.push(h);else if(c)b[f]=false;return false},ID:function(a){return a[1].replace(/\\/g,"")},TAG:function(a){return a[1].toLowerCase()},CHILD:function(a){if(a[1]===
12
- "nth"){a[2]||i.error(a[0]);a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0;a[3]=b[3]-0}else a[2]&&i.error(a[0]);a[0]=x++;return a},ATTR:function(a,b,c,d,e,f){b=a[1]=a[1].replace(/\\/g,"");if(!f&&j.attrMap[b])a[1]=j.attrMap[b];a[4]=(a[4]||a[5]||"").replace(/\\/g,"");if(a[2]==="~=")a[4]=" "+a[4]+" ";return a},PSEUDO:function(a,b,c,d,e){if(a[1]==="not")if((w.exec(a[3])||"").length>
13
- 1||/^\w/.test(a[3]))a[3]=i(a[3],null,null,b);else{a=i.filter(a[3],b,c,true^e);c||d.push.apply(d,a);return false}else if(j.match.POS.test(a[0])||j.match.CHILD.test(a[0]))return true;return a},POS:function(a){a.unshift(true);return a}},filters:{enabled:function(a){return a.disabled===false&&a.type!=="hidden"},disabled:function(a){return a.disabled===true},checked:function(a){return a.checked===true},selected:function(a){return a.selected===true},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},
14
- has:function(a,b,c){return!!i(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){return"text"===a.type},radio:function(a){return"radio"===a.type},checkbox:function(a){return"checkbox"===a.type},file:function(a){return"file"===a.type},password:function(a){return"password"===a.type},submit:function(a){return"submit"===a.type},image:function(a){return"image"===a.type},reset:function(a){return"reset"===a.type},button:function(a){return"button"===a.type||a.nodeName.toLowerCase()===
15
- "button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=j.filters[e];if(f)return f(a,c,b,d);else if(e==="contains")return(a.textContent||
16
- a.innerText||i.getText([a])||"").indexOf(b[3])>=0;else if(e==="not"){b=b[3];c=0;for(d=b.length;c<d;c++)if(b[c]===a)return false;return true}else i.error(e)},CHILD:function(a,b){var c=b[1],d=a;switch(c){case "only":case "first":for(;d=d.previousSibling;)if(d.nodeType===1)return false;if(c==="first")return true;d=a;case "last":for(;d=d.nextSibling;)if(d.nodeType===1)return false;return true;case "nth":c=b[2];var e=b[3];if(c===1&&e===0)return true;var f=b[0],h=a.parentNode;if(h&&(h.sizcache!==f||!a.nodeIndex)){var g=
17
- 0;for(d=h.firstChild;d;d=d.nextSibling)if(d.nodeType===1)d.nodeIndex=++g;h.sizcache=f}d=a.nodeIndex-e;return c===0?d===0:d%c===0&&d/c>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1];c=j.attrHandle[c]?j.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c);var d=c+"",e=b[2],f=b[4];
18
- return c==null?e==="!=":e==="="?d===f:e==="*="?d.indexOf(f)>=0:e==="~="?(" "+d+" ").indexOf(f)>=0:!f?d&&c!==false:e==="!="?d!==f:e==="^="?d.indexOf(f)===0:e==="$="?d.substr(d.length-f.length)===f:e==="|="?d===f||d.substr(0,f.length+1)===f+"-":false},POS:function(a,b,c,d){var e=j.setFilters[b[2]];if(e)return e(a,c,b,d)}}},E=j.match.POS,F=function(a,b){return"\\"+(b-0+1)},q;for(q in j.match){j.match[q]=RegExp(j.match[q].source+/(?![^\[]*\])(?![^\(]*\))/.source);j.leftMatch[q]=RegExp(/(^(?:.|\r|\n)*?)/.source+
19
- j.match[q].source.replace(/\\(\d+)/g,F))}var o=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(document.documentElement.childNodes,0)}catch(G){o=function(a,b){var c=0,d=b||[];if(A.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length==="number")for(var e=a.length;c<e;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var u,r;if(document.documentElement.compareDocumentPosition)u=function(a,
20
- b){if(a===b){s=true;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1};else{u=function(a,b){var c,d,e=[],f=[];c=a.parentNode;d=b.parentNode;var h=c;if(a===b){s=true;return 0}else if(c===d)return r(a,b);else if(c){if(!d)return 1}else return-1;for(;h;){e.unshift(h);h=h.parentNode}for(h=d;h;){f.unshift(h);h=h.parentNode}c=e.length;d=f.length;for(h=0;h<c&&h<d;h++)if(e[h]!==f[h])return r(e[h],f[h]);return h===
21
- c?r(a,f[h],-1):r(e[h],b,1)};r=function(a,b,c){if(a===b)return c;for(a=a.nextSibling;a;){if(a===b)return-1;a=a.nextSibling}return 1}}i.getText=function(a){for(var b="",c,d=0;a[d];d++){c=a[d];if(c.nodeType===3||c.nodeType===4)b+=c.nodeValue;else if(c.nodeType!==8)b+=i.getText(c.childNodes)}return b};(function(){var a=document.createElement("div"),b="script"+(new Date).getTime(),c=document.documentElement;a.innerHTML="<a name='"+b+"'/>";c.insertBefore(a,c.firstChild);if(document.getElementById(b)){j.find.ID=
22
- function(d,e,f){if(typeof e.getElementById!=="undefined"&&!f)return(e=e.getElementById(d[1]))?e.id===d[1]||typeof e.getAttributeNode!=="undefined"&&e.getAttributeNode("id").nodeValue===d[1]?[e]:undefined:[]};j.filter.ID=function(d,e){var f=typeof d.getAttributeNode!=="undefined"&&d.getAttributeNode("id");return d.nodeType===1&&f&&f.nodeValue===e}}c.removeChild(a);c=a=null})();(function(){var a=document.createElement("div");a.appendChild(document.createComment(""));if(a.getElementsByTagName("*").length>
23
- 0)j.find.TAG=function(b,c){var d=c.getElementsByTagName(b[1]);if(b[1]==="*"){for(var e=[],f=0;d[f];f++)d[f].nodeType===1&&e.push(d[f]);d=e}return d};a.innerHTML="<a href='#'></a>";if(a.firstChild&&typeof a.firstChild.getAttribute!=="undefined"&&a.firstChild.getAttribute("href")!=="#")j.attrHandle.href=function(b){return b.getAttribute("href",2)};a=null})();document.querySelectorAll&&function(){var a=i,b=document.createElement("div");b.innerHTML="<p class='TEST'></p>";if(!(b.querySelectorAll&&b.querySelectorAll(".TEST").length===
24
- 0)){i=function(d,e,f,h){e=e||document;if(!h&&!i.isXML(e)){var g=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(d);if(g&&(e.nodeType===1||e.nodeType===9))if(g[1])return o(e.getElementsByTagName(d),f);else if(g[2]&&j.find.CLASS&&e.getElementsByClassName)return o(e.getElementsByClassName(g[2]),f);if(e.nodeType===9){if(d==="body"&&e.body)return o([e.body],f);else if(g&&g[3]){var l=e.getElementById(g[3]);if(l&&l.parentNode){if(l.id===g[3])return o([l],f)}else return o([],f)}try{return o(e.querySelectorAll(d),
25
- f)}catch(p){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){l=(g=e.getAttribute("id"))||"__sizzle__";var n=e.parentNode,m=/^\s*[+~]/.test(d);if(g)l=l.replace(/'/g,"\\$&");else e.setAttribute("id",l);if(m&&n)e=e.parentNode;try{if(!m||n)return o(e.querySelectorAll("[id='"+l+"'] "+d),f)}catch(k){}finally{g||e.removeAttribute("id")}}}return a(d,e,f,h)};for(var c in a)i[c]=a[c];b=null}}();(function(){var a=document.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||
26
- a.msMatchesSelector,c=false;try{b.call(document.documentElement,"[test!='']:sizzle")}catch(d){c=true}if(b)i.matchesSelector=function(e,f){f=f.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!i.isXML(e))try{if(c||!j.match.PSEUDO.test(f)&&!/!=/.test(f))return b.call(e,f)}catch(h){}return i(f,null,null,[e]).length>0}})();(function(){var a=document.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!a.getElementsByClassName||a.getElementsByClassName("e").length===
27
- 0)){a.lastChild.className="e";if(a.getElementsByClassName("e").length!==1){j.order.splice(1,0,"CLASS");j.find.CLASS=function(b,c,d){if(typeof c.getElementsByClassName!=="undefined"&&!d)return c.getElementsByClassName(b[1])};a=null}}})();i.contains=document.documentElement.contains?function(a,b){return a!==b&&(a.contains?a.contains(b):true)}:document.documentElement.compareDocumentPosition?function(a,b){return!!(a.compareDocumentPosition(b)&16)}:function(){return false};i.isXML=function(a){return(a=
28
- (a?a.ownerDocument||a:0).documentElement)?a.nodeName!=="HTML":false};var C=function(a,b){for(var c,d=[],e="",f=b.nodeType?[b]:b;c=j.match.PSEUDO.exec(a);){e+=c[0];a=a.replace(j.match.PSEUDO,"")}a=j.relative[a]?a+"*":a;c=0;for(var h=f.length;c<h;c++)i(a,f[c],d);return i.filter(e,d)};window.Sizzle=i})();
@@ -1,28 +0,0 @@
1
- {
2
- "name": "d3",
3
- "version": "2.7.0",
4
- "description": "A small, free JavaScript library for manipulating documents based on data.",
5
- "keywords": [
6
- "dom",
7
- "w3c",
8
- "visualization",
9
- "svg",
10
- "animation",
11
- "canvas"
12
- ],
13
- "homepage": "http://mbostock.github.com/d3/",
14
- "author": {
15
- "name": "Mike Bostock",
16
- "url": "http://bost.ocks.org/mike"
17
- },
18
- "repository": {
19
- "type": "git",
20
- "url": "http://github.com/mbostock/d3.git"
21
- },
22
- "main": "d3.js",
23
- "dependencies": {
24
- "uglify-js": "1.1.1",
25
- "jsdom": "0.2.9",
26
- "vows": "0.5.13"
27
- }
28
- }
@@ -1,125 +0,0 @@
1
- // TODO Track touch points by identifier.
2
-
3
- d3.behavior.drag = function() {
4
- var event = d3.dispatch("drag", "dragstart", "dragend"),
5
- origin = null;
6
-
7
- function drag() {
8
- this
9
- .on("mousedown.drag", mousedown)
10
- .on("touchstart.drag", mousedown);
11
-
12
- d3.select(window)
13
- .on("mousemove.drag", d3_behavior_dragMove)
14
- .on("touchmove.drag", d3_behavior_dragMove)
15
- .on("mouseup.drag", d3_behavior_dragUp, true)
16
- .on("touchend.drag", d3_behavior_dragUp, true)
17
- .on("click.drag", d3_behavior_dragClick, true);
18
- }
19
-
20
- // snapshot the local context for subsequent dispatch
21
- function start() {
22
- d3_behavior_dragEvent = event;
23
- d3_behavior_dragEventTarget = d3.event.target;
24
- d3_behavior_dragTarget = this;
25
- d3_behavior_dragArguments = arguments;
26
- d3_behavior_dragOrigin = d3_behavior_dragPoint();
27
- if (origin) {
28
- d3_behavior_dragOffset = origin.apply(d3_behavior_dragTarget, d3_behavior_dragArguments);
29
- d3_behavior_dragOffset = [d3_behavior_dragOffset.x - d3_behavior_dragOrigin[0], d3_behavior_dragOffset.y - d3_behavior_dragOrigin[1]];
30
- } else {
31
- d3_behavior_dragOffset = [0, 0];
32
- }
33
- d3_behavior_dragMoved = 0;
34
- }
35
-
36
- function mousedown() {
37
- start.apply(this, arguments);
38
- d3_behavior_dragDispatch("dragstart");
39
- }
40
-
41
- drag.origin = function(x) {
42
- if (!arguments.length) return origin;
43
- origin = x;
44
- return drag;
45
- };
46
-
47
- return d3.rebind(drag, event, "on");
48
- };
49
-
50
- var d3_behavior_dragEvent,
51
- d3_behavior_dragEventTarget,
52
- d3_behavior_dragTarget,
53
- d3_behavior_dragArguments,
54
- d3_behavior_dragOffset,
55
- d3_behavior_dragOrigin,
56
- d3_behavior_dragMoved;
57
-
58
- function d3_behavior_dragDispatch(type) {
59
- var p = d3_behavior_dragPoint(),
60
- o = d3.event,
61
- e = d3.event = {type: type};
62
-
63
- if (p) {
64
- e.x = p[0] + d3_behavior_dragOffset[0];
65
- e.y = p[1] + d3_behavior_dragOffset[1];
66
- e.dx = p[0] - d3_behavior_dragOrigin[0];
67
- e.dy = p[1] - d3_behavior_dragOrigin[1];
68
- d3_behavior_dragMoved |= e.dx | e.dy;
69
- d3_behavior_dragOrigin = p;
70
- }
71
-
72
- try {
73
- d3_behavior_dragEvent[type].apply(d3_behavior_dragTarget, d3_behavior_dragArguments);
74
- } finally {
75
- d3.event = o;
76
- }
77
-
78
- o.stopPropagation();
79
- o.preventDefault();
80
- }
81
-
82
- function d3_behavior_dragPoint() {
83
- var p = d3_behavior_dragTarget.parentNode,
84
- t = d3.event.changedTouches;
85
- return p && (t
86
- ? d3.svg.touches(p, t)[0]
87
- : d3.svg.mouse(p));
88
- }
89
-
90
- function d3_behavior_dragMove() {
91
- if (!d3_behavior_dragTarget) return;
92
- var parent = d3_behavior_dragTarget.parentNode;
93
-
94
- // O NOES! The drag element was removed from the DOM.
95
- if (!parent) return d3_behavior_dragUp();
96
-
97
- d3_behavior_dragDispatch("drag");
98
- d3_eventCancel();
99
- }
100
-
101
- function d3_behavior_dragUp() {
102
- if (!d3_behavior_dragTarget) return;
103
- d3_behavior_dragDispatch("dragend");
104
-
105
- // If the node was moved, prevent the mouseup from propagating.
106
- // Also prevent the subsequent click from propagating (e.g., for anchors).
107
- if (d3_behavior_dragMoved) {
108
- d3_eventCancel();
109
- d3_behavior_dragMoved = d3.event.target === d3_behavior_dragEventTarget;
110
- }
111
-
112
- d3_behavior_dragEvent =
113
- d3_behavior_dragEventTarget =
114
- d3_behavior_dragTarget =
115
- d3_behavior_dragArguments =
116
- d3_behavior_dragOffset =
117
- d3_behavior_dragOrigin = null;
118
- }
119
-
120
- function d3_behavior_dragClick() {
121
- if (d3_behavior_dragMoved) {
122
- d3_eventCancel();
123
- d3_behavior_dragMoved = 0;
124
- }
125
- }
@@ -1,242 +0,0 @@
1
- // TODO unbind zoom behavior?
2
- d3.behavior.zoom = function() {
3
- var xyz = [0, 0, 0],
4
- event = d3.dispatch("zoom"),
5
- extent = d3_behavior_zoomInfiniteExtent;
6
-
7
- function zoom() {
8
- this
9
- .on("mousedown.zoom", mousedown)
10
- .on("mousewheel.zoom", mousewheel)
11
- .on("DOMMouseScroll.zoom", mousewheel)
12
- .on("dblclick.zoom", dblclick)
13
- .on("touchstart.zoom", touchstart);
14
-
15
- d3.select(window)
16
- .on("mousemove.zoom", d3_behavior_zoomMousemove)
17
- .on("mouseup.zoom", d3_behavior_zoomMouseup)
18
- .on("touchmove.zoom", d3_behavior_zoomTouchmove)
19
- .on("touchend.zoom", d3_behavior_zoomTouchup)
20
- .on("click.zoom", d3_behavior_zoomClick, true);
21
- }
22
-
23
- // snapshot the local context for subsequent dispatch
24
- function start() {
25
- d3_behavior_zoomXyz = xyz;
26
- d3_behavior_zoomExtent = extent;
27
- d3_behavior_zoomDispatch = event.zoom;
28
- d3_behavior_zoomEventTarget = d3.event.target;
29
- d3_behavior_zoomTarget = this;
30
- d3_behavior_zoomArguments = arguments;
31
- }
32
-
33
- function mousedown() {
34
- start.apply(this, arguments);
35
- d3_behavior_zoomPanning = d3_behavior_zoomLocation(d3.svg.mouse(d3_behavior_zoomTarget));
36
- d3_behavior_zoomMoved = 0;
37
- d3.event.preventDefault();
38
- window.focus();
39
- }
40
-
41
- // store starting mouse location
42
- function mousewheel() {
43
- start.apply(this, arguments);
44
- if (!d3_behavior_zoomZooming) d3_behavior_zoomZooming = d3_behavior_zoomLocation(d3.svg.mouse(d3_behavior_zoomTarget));
45
- d3_behavior_zoomTo(d3_behavior_zoomDelta() + xyz[2], d3.svg.mouse(d3_behavior_zoomTarget), d3_behavior_zoomZooming);
46
- }
47
-
48
- function dblclick() {
49
- start.apply(this, arguments);
50
- var mouse = d3.svg.mouse(d3_behavior_zoomTarget);
51
- d3_behavior_zoomTo(d3.event.shiftKey ? Math.ceil(xyz[2] - 1) : Math.floor(xyz[2] + 1), mouse, d3_behavior_zoomLocation(mouse));
52
- }
53
-
54
- // doubletap detection
55
- function touchstart() {
56
- start.apply(this, arguments);
57
- var touches = d3_behavior_zoomTouchup(),
58
- touch,
59
- now = Date.now();
60
- if ((touches.length === 1) && (now - d3_behavior_zoomLast < 300)) {
61
- d3_behavior_zoomTo(1 + Math.floor(xyz[2]), touch = touches[0], d3_behavior_zoomLocations[touch.identifier]);
62
- }
63
- d3_behavior_zoomLast = now;
64
- }
65
-
66
- zoom.extent = function(x) {
67
- if (!arguments.length) return extent;
68
- extent = x == null ? d3_behavior_zoomInfiniteExtent : x;
69
- return zoom;
70
- };
71
-
72
- return d3.rebind(zoom, event, "on");
73
- };
74
-
75
- var d3_behavior_zoomDiv,
76
- d3_behavior_zoomPanning,
77
- d3_behavior_zoomZooming,
78
- d3_behavior_zoomLocations = {}, // identifier -> location
79
- d3_behavior_zoomLast = 0,
80
- d3_behavior_zoomXyz,
81
- d3_behavior_zoomExtent,
82
- d3_behavior_zoomDispatch,
83
- d3_behavior_zoomEventTarget,
84
- d3_behavior_zoomTarget,
85
- d3_behavior_zoomArguments,
86
- d3_behavior_zoomMoved;
87
-
88
- function d3_behavior_zoomLocation(point) {
89
- return [
90
- point[0] - d3_behavior_zoomXyz[0],
91
- point[1] - d3_behavior_zoomXyz[1],
92
- d3_behavior_zoomXyz[2]
93
- ];
94
- }
95
-
96
- // detect the pixels that would be scrolled by this wheel event
97
- function d3_behavior_zoomDelta() {
98
-
99
- // mousewheel events are totally broken!
100
- // https://bugs.webkit.org/show_bug.cgi?id=40441
101
- // not only that, but Chrome and Safari differ in re. to acceleration!
102
- if (!d3_behavior_zoomDiv) {
103
- d3_behavior_zoomDiv = d3.select("body").append("div")
104
- .style("visibility", "hidden")
105
- .style("top", 0)
106
- .style("height", 0)
107
- .style("width", 0)
108
- .style("overflow-y", "scroll")
109
- .append("div")
110
- .style("height", "2000px")
111
- .node().parentNode;
112
- }
113
-
114
- var e = d3.event, delta;
115
- try {
116
- d3_behavior_zoomDiv.scrollTop = 1000;
117
- d3_behavior_zoomDiv.dispatchEvent(e);
118
- delta = 1000 - d3_behavior_zoomDiv.scrollTop;
119
- } catch (error) {
120
- delta = e.wheelDelta || (-e.detail * 5);
121
- }
122
-
123
- return delta * .005;
124
- }
125
-
126
- // Note: Since we don't rotate, it's possible for the touches to become
127
- // slightly detached from their original positions. Thus, we recompute the
128
- // touch points on touchend as well as touchstart!
129
- function d3_behavior_zoomTouchup() {
130
- var touches = d3.svg.touches(d3_behavior_zoomTarget),
131
- i = -1,
132
- n = touches.length,
133
- touch;
134
- while (++i < n) d3_behavior_zoomLocations[(touch = touches[i]).identifier] = d3_behavior_zoomLocation(touch);
135
- return touches;
136
- }
137
-
138
- function d3_behavior_zoomTouchmove() {
139
- var touches = d3.svg.touches(d3_behavior_zoomTarget);
140
- switch (touches.length) {
141
-
142
- // single-touch pan
143
- case 1: {
144
- var touch = touches[0];
145
- d3_behavior_zoomTo(d3_behavior_zoomXyz[2], touch, d3_behavior_zoomLocations[touch.identifier]);
146
- break;
147
- }
148
-
149
- // double-touch pan + zoom
150
- case 2: {
151
- var p0 = touches[0],
152
- p1 = touches[1],
153
- p2 = [(p0[0] + p1[0]) / 2, (p0[1] + p1[1]) / 2],
154
- l0 = d3_behavior_zoomLocations[p0.identifier],
155
- l1 = d3_behavior_zoomLocations[p1.identifier],
156
- l2 = [(l0[0] + l1[0]) / 2, (l0[1] + l1[1]) / 2, l0[2]];
157
- d3_behavior_zoomTo(Math.log(d3.event.scale) / Math.LN2 + l0[2], p2, l2);
158
- break;
159
- }
160
- }
161
- }
162
-
163
- function d3_behavior_zoomMousemove() {
164
- d3_behavior_zoomZooming = null;
165
- if (d3_behavior_zoomPanning) {
166
- d3_behavior_zoomMoved = 1;
167
- d3_behavior_zoomTo(d3_behavior_zoomXyz[2], d3.svg.mouse(d3_behavior_zoomTarget), d3_behavior_zoomPanning);
168
- }
169
- }
170
-
171
- function d3_behavior_zoomMouseup() {
172
- if (d3_behavior_zoomPanning) {
173
- if (d3_behavior_zoomMoved) {
174
- d3_eventCancel();
175
- d3_behavior_zoomMoved = d3_behavior_zoomEventTarget === d3.event.target;
176
- }
177
-
178
- d3_behavior_zoomXyz =
179
- d3_behavior_zoomExtent =
180
- d3_behavior_zoomDispatch =
181
- d3_behavior_zoomEventTarget =
182
- d3_behavior_zoomTarget =
183
- d3_behavior_zoomArguments =
184
- d3_behavior_zoomPanning = null;
185
- }
186
- }
187
-
188
- function d3_behavior_zoomClick() {
189
- if (d3_behavior_zoomMoved) {
190
- d3_eventCancel();
191
- d3_behavior_zoomMoved = 0;
192
- }
193
- }
194
-
195
- function d3_behavior_zoomTo(z, x0, x1) {
196
- z = d3_behavior_zoomExtentClamp(z, 2);
197
- var j = Math.pow(2, d3_behavior_zoomXyz[2]),
198
- k = Math.pow(2, z),
199
- K = Math.pow(2, (d3_behavior_zoomXyz[2] = z) - x1[2]),
200
- x_ = d3_behavior_zoomXyz[0],
201
- y_ = d3_behavior_zoomXyz[1],
202
- x = d3_behavior_zoomXyz[0] = d3_behavior_zoomExtentClamp((x0[0] - x1[0] * K), 0, k),
203
- y = d3_behavior_zoomXyz[1] = d3_behavior_zoomExtentClamp((x0[1] - x1[1] * K), 1, k),
204
- o = d3.event; // Events can be reentrant (e.g., focus).
205
-
206
- d3.event = {
207
- scale: k,
208
- translate: [x, y],
209
- transform: function(sx, sy) {
210
- if (sx) transform(sx, x_, x);
211
- if (sy) transform(sy, y_, y);
212
- }
213
- };
214
-
215
- function transform(scale, a, b) {
216
- scale.domain(scale.range().map(function(v) { return scale.invert(((v - b) * j) / k + a); }));
217
- }
218
-
219
- try {
220
- d3_behavior_zoomDispatch.apply(d3_behavior_zoomTarget, d3_behavior_zoomArguments);
221
- } finally {
222
- d3.event = o;
223
- }
224
-
225
- o.preventDefault();
226
- }
227
-
228
- var d3_behavior_zoomInfiniteExtent = [
229
- [-Infinity, Infinity],
230
- [-Infinity, Infinity],
231
- [-Infinity, Infinity]
232
- ];
233
-
234
- function d3_behavior_zoomExtentClamp(x, i, k) {
235
- var range = d3_behavior_zoomExtent[i],
236
- r0 = range[0],
237
- r1 = range[1];
238
- return arguments.length === 3
239
- ? Math.max(r1 * (r1 === Infinity ? -Infinity : 1 / k - 1),
240
- Math.min(r0 === -Infinity ? Infinity : r0, x / k)) * k
241
- : Math.max(r0, Math.min(r1, x));
242
- }
@@ -1,297 +0,0 @@
1
- // Inspired by http://informationandvisualization.de/blog/box-plot
2
- d3.chart.box = function() {
3
- var width = 1,
4
- height = 1,
5
- duration = 0,
6
- domain = null,
7
- value = Number,
8
- whiskers = d3_chart_boxWhiskers,
9
- quartiles = d3_chart_boxQuartiles,
10
- tickFormat = null;
11
-
12
- // For each small multiple…
13
- function box(g) {
14
- g.each(function(d, i) {
15
- d = d.map(value).sort(d3.ascending);
16
- var g = d3.select(this),
17
- n = d.length,
18
- min = d[0],
19
- max = d[n - 1];
20
-
21
- // Compute quartiles. Must return exactly 3 elements.
22
- var quartileData = d.quartiles = quartiles(d);
23
-
24
- // Compute whiskers. Must return exactly 2 elements, or null.
25
- var whiskerIndices = whiskers && whiskers.call(this, d, i),
26
- whiskerData = whiskerIndices && whiskerIndices.map(function(i) { return d[i]; });
27
-
28
- // Compute outliers. If no whiskers are specified, all data are "outliers".
29
- // We compute the outliers as indices, so that we can join across transitions!
30
- var outlierIndices = whiskerIndices
31
- ? d3.range(0, whiskerIndices[0]).concat(d3.range(whiskerIndices[1] + 1, n))
32
- : d3.range(n);
33
-
34
- // Compute the new x-scale.
35
- var x1 = d3.scale.linear()
36
- .domain(domain && domain.call(this, d, i) || [min, max])
37
- .range([height, 0]);
38
-
39
- // Retrieve the old x-scale, if this is an update.
40
- var x0 = this.__chart__ || d3.scale.linear()
41
- .domain([0, Infinity])
42
- .range(x1.range());
43
-
44
- // Stash the new scale.
45
- this.__chart__ = x1;
46
-
47
- // Note: the box, median, and box tick elements are fixed in number,
48
- // so we only have to handle enter and update. In contrast, the outliers
49
- // and other elements are variable, so we need to exit them! Variable
50
- // elements also fade in and out.
51
-
52
- // Update center line: the vertical line spanning the whiskers.
53
- var center = g.selectAll("line.center")
54
- .data(whiskerData ? [whiskerData] : []);
55
-
56
- center.enter().insert("svg:line", "rect")
57
- .attr("class", "center")
58
- .attr("x1", width / 2)
59
- .attr("y1", function(d) { return x0(d[0]); })
60
- .attr("x2", width / 2)
61
- .attr("y2", function(d) { return x0(d[1]); })
62
- .style("opacity", 1e-6)
63
- .transition()
64
- .duration(duration)
65
- .style("opacity", 1)
66
- .attr("y1", function(d) { return x1(d[0]); })
67
- .attr("y2", function(d) { return x1(d[1]); });
68
-
69
- center.transition()
70
- .duration(duration)
71
- .style("opacity", 1)
72
- .attr("y1", function(d) { return x1(d[0]); })
73
- .attr("y2", function(d) { return x1(d[1]); });
74
-
75
- center.exit().transition()
76
- .duration(duration)
77
- .style("opacity", 1e-6)
78
- .attr("y1", function(d) { return x1(d[0]); })
79
- .attr("y2", function(d) { return x1(d[1]); })
80
- .remove();
81
-
82
- // Update innerquartile box.
83
- var box = g.selectAll("rect.box")
84
- .data([quartileData]);
85
-
86
- box.enter().append("svg:rect")
87
- .attr("class", "box")
88
- .attr("x", 0)
89
- .attr("y", function(d) { return x0(d[2]); })
90
- .attr("width", width)
91
- .attr("height", function(d) { return x0(d[0]) - x0(d[2]); })
92
- .transition()
93
- .duration(duration)
94
- .attr("y", function(d) { return x1(d[2]); })
95
- .attr("height", function(d) { return x1(d[0]) - x1(d[2]); });
96
-
97
- box.transition()
98
- .duration(duration)
99
- .attr("y", function(d) { return x1(d[2]); })
100
- .attr("height", function(d) { return x1(d[0]) - x1(d[2]); });
101
-
102
- // Update median line.
103
- var medianLine = g.selectAll("line.median")
104
- .data([quartileData[1]]);
105
-
106
- medianLine.enter().append("svg:line")
107
- .attr("class", "median")
108
- .attr("x1", 0)
109
- .attr("y1", x0)
110
- .attr("x2", width)
111
- .attr("y2", x0)
112
- .transition()
113
- .duration(duration)
114
- .attr("y1", x1)
115
- .attr("y2", x1);
116
-
117
- medianLine.transition()
118
- .duration(duration)
119
- .attr("y1", x1)
120
- .attr("y2", x1);
121
-
122
- // Update whiskers.
123
- var whisker = g.selectAll("line.whisker")
124
- .data(whiskerData || []);
125
-
126
- whisker.enter().insert("svg:line", "circle, text")
127
- .attr("class", "whisker")
128
- .attr("x1", 0)
129
- .attr("y1", x0)
130
- .attr("x2", width)
131
- .attr("y2", x0)
132
- .style("opacity", 1e-6)
133
- .transition()
134
- .duration(duration)
135
- .attr("y1", x1)
136
- .attr("y2", x1)
137
- .style("opacity", 1);
138
-
139
- whisker.transition()
140
- .duration(duration)
141
- .attr("y1", x1)
142
- .attr("y2", x1)
143
- .style("opacity", 1);
144
-
145
- whisker.exit().transition()
146
- .duration(duration)
147
- .attr("y1", x1)
148
- .attr("y2", x1)
149
- .style("opacity", 1e-6)
150
- .remove();
151
-
152
- // Update outliers.
153
- var outlier = g.selectAll("circle.outlier")
154
- .data(outlierIndices, Number);
155
-
156
- outlier.enter().insert("svg:circle", "text")
157
- .attr("class", "outlier")
158
- .attr("r", 5)
159
- .attr("cx", width / 2)
160
- .attr("cy", function(i) { return x0(d[i]); })
161
- .style("opacity", 1e-6)
162
- .transition()
163
- .duration(duration)
164
- .attr("cy", function(i) { return x1(d[i]); })
165
- .style("opacity", 1);
166
-
167
- outlier.transition()
168
- .duration(duration)
169
- .attr("cy", function(i) { return x1(d[i]); })
170
- .style("opacity", 1);
171
-
172
- outlier.exit().transition()
173
- .duration(duration)
174
- .attr("cy", function(i) { return x1(d[i]); })
175
- .style("opacity", 1e-6)
176
- .remove();
177
-
178
- // Compute the tick format.
179
- var format = tickFormat || x1.tickFormat(8);
180
-
181
- // Update box ticks.
182
- var boxTick = g.selectAll("text.box")
183
- .data(quartileData);
184
-
185
- boxTick.enter().append("svg:text")
186
- .attr("class", "box")
187
- .attr("dy", ".3em")
188
- .attr("dx", function(d, i) { return i & 1 ? 6 : -6 })
189
- .attr("x", function(d, i) { return i & 1 ? width : 0 })
190
- .attr("y", x0)
191
- .attr("text-anchor", function(d, i) { return i & 1 ? "start" : "end"; })
192
- .text(format)
193
- .transition()
194
- .duration(duration)
195
- .attr("y", x1);
196
-
197
- boxTick.transition()
198
- .duration(duration)
199
- .text(format)
200
- .attr("y", x1);
201
-
202
- // Update whisker ticks. These are handled separately from the box
203
- // ticks because they may or may not exist, and we want don't want
204
- // to join box ticks pre-transition with whisker ticks post-.
205
- var whiskerTick = g.selectAll("text.whisker")
206
- .data(whiskerData || []);
207
-
208
- whiskerTick.enter().append("svg:text")
209
- .attr("class", "whisker")
210
- .attr("dy", ".3em")
211
- .attr("dx", 6)
212
- .attr("x", width)
213
- .attr("y", x0)
214
- .text(format)
215
- .style("opacity", 1e-6)
216
- .transition()
217
- .duration(duration)
218
- .attr("y", x1)
219
- .style("opacity", 1);
220
-
221
- whiskerTick.transition()
222
- .duration(duration)
223
- .text(format)
224
- .attr("y", x1)
225
- .style("opacity", 1);
226
-
227
- whiskerTick.exit().transition()
228
- .duration(duration)
229
- .attr("y", x1)
230
- .style("opacity", 1e-6)
231
- .remove();
232
- });
233
- d3.timer.flush();
234
- }
235
-
236
- box.width = function(x) {
237
- if (!arguments.length) return width;
238
- width = x;
239
- return box;
240
- };
241
-
242
- box.height = function(x) {
243
- if (!arguments.length) return height;
244
- height = x;
245
- return box;
246
- };
247
-
248
- box.tickFormat = function(x) {
249
- if (!arguments.length) return tickFormat;
250
- tickFormat = x;
251
- return box;
252
- };
253
-
254
- box.duration = function(x) {
255
- if (!arguments.length) return duration;
256
- duration = x;
257
- return box;
258
- };
259
-
260
- box.domain = function(x) {
261
- if (!arguments.length) return domain;
262
- domain = x == null ? x : d3.functor(x);
263
- return box;
264
- };
265
-
266
- box.value = function(x) {
267
- if (!arguments.length) return value;
268
- value = x;
269
- return box;
270
- };
271
-
272
- box.whiskers = function(x) {
273
- if (!arguments.length) return whiskers;
274
- whiskers = x;
275
- return box;
276
- };
277
-
278
- box.quartiles = function(x) {
279
- if (!arguments.length) return quartiles;
280
- quartiles = x;
281
- return box;
282
- };
283
-
284
- return box;
285
- };
286
-
287
- function d3_chart_boxWhiskers(d) {
288
- return [0, d.length - 1];
289
- }
290
-
291
- function d3_chart_boxQuartiles(d) {
292
- return [
293
- d3.quantile(d, .25),
294
- d3.quantile(d, .5),
295
- d3.quantile(d, .75)
296
- ];
297
- }