rubyvis 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (443) hide show
  1. data/History.txt +6 -1
  2. data/Manifest.txt +421 -1
  3. data/README.txt +12 -10
  4. data/examples/first.rb +2 -2
  5. data/examples/second.rb +6 -3
  6. data/lib/rubyvis.rb +18 -3
  7. data/lib/rubyvis/mark.rb +101 -83
  8. data/lib/rubyvis/mark/anchor.rb +5 -7
  9. data/lib/rubyvis/mark/area.rb +19 -17
  10. data/lib/rubyvis/mark/bar.rb +3 -10
  11. data/lib/rubyvis/mark/label.rb +3 -4
  12. data/lib/rubyvis/mark/line.rb +20 -4
  13. data/lib/rubyvis/mark/panel.rb +31 -6
  14. data/lib/rubyvis/mark/rule.rb +8 -4
  15. data/lib/rubyvis/property.rb +11 -0
  16. data/lib/rubyvis/scene/svg_label.rb +1 -1
  17. data/lib/rubyvis/scene/svg_scene.rb +2 -1
  18. data/lib/rubyvis/sceneelement.rb +2 -0
  19. data/spec/bar_spec.rb +50 -0
  20. data/spec/label_spec.rb +41 -0
  21. data/spec/mark_spec.rb +16 -0
  22. data/spec/panel_spec.rb +22 -4
  23. data/spec/spec_helper.rb +1 -0
  24. data/vendor/FUTURE +62 -0
  25. data/vendor/Makefile +138 -0
  26. data/vendor/TODO +22 -0
  27. data/vendor/examples/antibiotics/antibiotics-scatter.html +113 -0
  28. data/vendor/examples/antibiotics/antibiotics.html +140 -0
  29. data/vendor/examples/antibiotics/antibiotics.js +20 -0
  30. data/vendor/examples/barley/barley.html +102 -0
  31. data/vendor/examples/barley/barley.js +122 -0
  32. data/vendor/examples/cars/cars.html +90 -0
  33. data/vendor/examples/cars/cars.js +408 -0
  34. data/vendor/examples/clock/clock.html +91 -0
  35. data/vendor/examples/crimea/crimea-grouped-bar.html +65 -0
  36. data/vendor/examples/crimea/crimea-line.html +61 -0
  37. data/vendor/examples/crimea/crimea-stacked-area.html +61 -0
  38. data/vendor/examples/crimea/crimea-stacked-bar.html +60 -0
  39. data/vendor/examples/crimea/crimea.html +100 -0
  40. data/vendor/examples/crimea/crimea.js +33 -0
  41. data/vendor/examples/downloadify/LICENSE.txt +22 -0
  42. data/vendor/examples/downloadify/download.png +0 -0
  43. data/vendor/examples/downloadify/downloadify.html +57 -0
  44. data/vendor/examples/downloadify/downloadify.min.js +3 -0
  45. data/vendor/examples/downloadify/downloadify.swf +0 -0
  46. data/vendor/examples/downloadify/swfobject.js +4 -0
  47. data/vendor/examples/ex.css +17 -0
  48. data/vendor/examples/eyes/eyes.html +53 -0
  49. data/vendor/examples/eyes/matrix.html +44 -0
  50. data/vendor/examples/flowers/flowers.html +109 -0
  51. data/vendor/examples/flowers/flowers.js +154 -0
  52. data/vendor/examples/group-stack/group-stack.html +79 -0
  53. data/vendor/examples/group-stack/headcount.js +23 -0
  54. data/vendor/examples/hotel/hotel.html +76 -0
  55. data/vendor/examples/hotel/hotel.js +245 -0
  56. data/vendor/examples/jobs/jobs.html +71 -0
  57. data/vendor/examples/jobs/jobs.js +1024 -0
  58. data/vendor/examples/jquery-1.4.2.min.js +154 -0
  59. data/vendor/examples/nba/nba.html +83 -0
  60. data/vendor/examples/nba/nba.js +53 -0
  61. data/vendor/examples/nba/nba2.html +82 -0
  62. data/vendor/examples/sankey/gdp2009.js +184 -0
  63. data/vendor/examples/sankey/sankey.html +77 -0
  64. data/vendor/examples/slider/cell.html +112 -0
  65. data/vendor/examples/slider/cell.js +31 -0
  66. data/vendor/examples/slider/horizon.html +85 -0
  67. data/vendor/examples/slider/jquery-ui-1.8rc3.custom.min.js +71 -0
  68. data/vendor/examples/slider/slider.html +50 -0
  69. data/vendor/examples/slider/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
  70. data/vendor/examples/slider/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
  71. data/vendor/examples/slider/ui-lightness/images/ui-bg_flat_10_000000_40x100.png +0 -0
  72. data/vendor/examples/slider/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
  73. data/vendor/examples/slider/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
  74. data/vendor/examples/slider/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  75. data/vendor/examples/slider/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
  76. data/vendor/examples/slider/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
  77. data/vendor/examples/slider/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
  78. data/vendor/examples/slider/ui-lightness/images/ui-icons_222222_256x240.png +2 -0
  79. data/vendor/examples/slider/ui-lightness/images/ui-icons_228ef1_256x240.png +2 -0
  80. data/vendor/examples/slider/ui-lightness/images/ui-icons_ef8c08_256x240.png +2 -0
  81. data/vendor/examples/slider/ui-lightness/images/ui-icons_ffd27a_256x240.png +2 -0
  82. data/vendor/examples/slider/ui-lightness/images/ui-icons_ffffff_256x240.png +2 -0
  83. data/vendor/examples/slider/ui-lightness/jquery-ui-1.8rc3.custom.css +302 -0
  84. data/vendor/examples/tipsy/jquery.tipsy.js +198 -0
  85. data/vendor/examples/tipsy/tipsy-bar.html +65 -0
  86. data/vendor/examples/tipsy/tipsy-line.html +67 -0
  87. data/vendor/examples/tipsy/tipsy.css +12 -0
  88. data/vendor/examples/tipsy/tipsy.gif +0 -0
  89. data/vendor/examples/tipsy/tipsy.js +66 -0
  90. data/vendor/examples/weather/weather.html +86 -0
  91. data/vendor/examples/weather/weather.js +42 -0
  92. data/vendor/examples/wheat/wheat.html +130 -0
  93. data/vendor/examples/wheat/wheat.js +70 -0
  94. data/vendor/lib/google-compiler/COPYING +202 -0
  95. data/vendor/lib/google-compiler/README +224 -0
  96. data/vendor/lib/google-compiler/compiler-20100201.jar +0 -0
  97. data/vendor/protovis-d3.3.js +15726 -0
  98. data/vendor/protovis-r3.3.js +287 -0
  99. data/vendor/src/behavior/Behavior.js +32 -0
  100. data/vendor/src/behavior/Drag.js +112 -0
  101. data/vendor/src/behavior/Pan.js +110 -0
  102. data/vendor/src/behavior/Point.js +157 -0
  103. data/vendor/src/behavior/Resize.js +104 -0
  104. data/vendor/src/behavior/Select.js +100 -0
  105. data/vendor/src/behavior/Zoom.js +85 -0
  106. data/vendor/src/color/Color.js +598 -0
  107. data/vendor/src/color/Colors.js +135 -0
  108. data/vendor/src/color/Ramp.js +17 -0
  109. data/vendor/src/data/Arrays.js +277 -0
  110. data/vendor/src/data/Dom.js +380 -0
  111. data/vendor/src/data/Flatten.js +146 -0
  112. data/vendor/src/data/Histogram.js +120 -0
  113. data/vendor/src/data/LinearScale.js +54 -0
  114. data/vendor/src/data/LogScale.js +142 -0
  115. data/vendor/src/data/Nest.js +257 -0
  116. data/vendor/src/data/Numbers.js +313 -0
  117. data/vendor/src/data/Objects.js +78 -0
  118. data/vendor/src/data/OrdinalScale.js +267 -0
  119. data/vendor/src/data/QuantileScale.js +180 -0
  120. data/vendor/src/data/QuantitativeScale.js +440 -0
  121. data/vendor/src/data/RootScale.js +55 -0
  122. data/vendor/src/data/Scale.js +86 -0
  123. data/vendor/src/data/Transform.js +109 -0
  124. data/vendor/src/data/Tree.js +124 -0
  125. data/vendor/src/data/Vector.js +118 -0
  126. data/vendor/src/geo/Geo.js +5 -0
  127. data/vendor/src/geo/GeoScale.js +307 -0
  128. data/vendor/src/geo/LatLng.js +23 -0
  129. data/vendor/src/geo/Projection.js +43 -0
  130. data/vendor/src/geo/Projections.js +117 -0
  131. data/vendor/src/lang/Array.js +112 -0
  132. data/vendor/src/lang/init.js +26 -0
  133. data/vendor/src/layout/Arc.js +178 -0
  134. data/vendor/src/layout/Bullet.js +164 -0
  135. data/vendor/src/layout/Cluster.js +205 -0
  136. data/vendor/src/layout/Force.js +309 -0
  137. data/vendor/src/layout/Grid.js +119 -0
  138. data/vendor/src/layout/Hierarchy.js +249 -0
  139. data/vendor/src/layout/Horizon.js +159 -0
  140. data/vendor/src/layout/Indent.js +83 -0
  141. data/vendor/src/layout/Layout.js +56 -0
  142. data/vendor/src/layout/Matrix.js +177 -0
  143. data/vendor/src/layout/Network.js +302 -0
  144. data/vendor/src/layout/Pack.js +323 -0
  145. data/vendor/src/layout/Partition.js +203 -0
  146. data/vendor/src/layout/Rollup.js +203 -0
  147. data/vendor/src/layout/Stack.js +391 -0
  148. data/vendor/src/layout/Tree.js +282 -0
  149. data/vendor/src/layout/Treemap.js +347 -0
  150. data/vendor/src/mark/Anchor.js +81 -0
  151. data/vendor/src/mark/Area.js +268 -0
  152. data/vendor/src/mark/Bar.js +93 -0
  153. data/vendor/src/mark/Dot.js +212 -0
  154. data/vendor/src/mark/Ease.js +150 -0
  155. data/vendor/src/mark/Image.js +154 -0
  156. data/vendor/src/mark/Label.js +155 -0
  157. data/vendor/src/mark/Line.js +195 -0
  158. data/vendor/src/mark/Mark.js +1237 -0
  159. data/vendor/src/mark/Panel.js +273 -0
  160. data/vendor/src/mark/Rule.js +143 -0
  161. data/vendor/src/mark/Transient.js +7 -0
  162. data/vendor/src/mark/Transition.js +195 -0
  163. data/vendor/src/mark/Wedge.js +244 -0
  164. data/vendor/src/physics/BoundConstraint.js +75 -0
  165. data/vendor/src/physics/ChargeForce.js +184 -0
  166. data/vendor/src/physics/CollisionConstraint.js +113 -0
  167. data/vendor/src/physics/Constraint.js +26 -0
  168. data/vendor/src/physics/DragForce.js +49 -0
  169. data/vendor/src/physics/Force.js +25 -0
  170. data/vendor/src/physics/Particle.js +81 -0
  171. data/vendor/src/physics/PositionConstraint.js +72 -0
  172. data/vendor/src/physics/Quadtree.js +195 -0
  173. data/vendor/src/physics/Simulation.js +159 -0
  174. data/vendor/src/physics/SpringForce.js +141 -0
  175. data/vendor/src/pv-internals.js +154 -0
  176. data/vendor/src/pv.js +95 -0
  177. data/vendor/src/scene/SvgArea.js +172 -0
  178. data/vendor/src/scene/SvgBar.js +28 -0
  179. data/vendor/src/scene/SvgCurve.js +354 -0
  180. data/vendor/src/scene/SvgDot.js +81 -0
  181. data/vendor/src/scene/SvgImage.js +45 -0
  182. data/vendor/src/scene/SvgLabel.js +46 -0
  183. data/vendor/src/scene/SvgLine.js +159 -0
  184. data/vendor/src/scene/SvgPanel.js +126 -0
  185. data/vendor/src/scene/SvgRule.js +26 -0
  186. data/vendor/src/scene/SvgScene.js +185 -0
  187. data/vendor/src/scene/SvgWedge.js +66 -0
  188. data/vendor/src/text/DateFormat.js +262 -0
  189. data/vendor/src/text/Format.js +78 -0
  190. data/vendor/src/text/NumberFormat.js +227 -0
  191. data/vendor/src/text/TimeFormat.js +115 -0
  192. data/vendor/test1.html +30 -0
  193. data/vendor/tests/behavior/drag-events.html +47 -0
  194. data/vendor/tests/behavior/drag.html +32 -0
  195. data/vendor/tests/behavior/drag2.html +33 -0
  196. data/vendor/tests/behavior/point-area-stacked.html +73 -0
  197. data/vendor/tests/behavior/point-area-stacked2.html +70 -0
  198. data/vendor/tests/behavior/point-area.html +67 -0
  199. data/vendor/tests/behavior/point-bar.html +62 -0
  200. data/vendor/tests/behavior/point-dot.html +60 -0
  201. data/vendor/tests/behavior/point-line.html +62 -0
  202. data/vendor/tests/behavior/point-lines-grid.html +65 -0
  203. data/vendor/tests/behavior/point-lines.html +61 -0
  204. data/vendor/tests/behavior/point-wedge.html +43 -0
  205. data/vendor/tests/behavior/resize.html +69 -0
  206. data/vendor/tests/behavior/select.html +37 -0
  207. data/vendor/tests/bzr.js +62 -0
  208. data/vendor/tests/center.js +13 -0
  209. data/vendor/tests/data/deviation.html +54 -0
  210. data/vendor/tests/data/histogram-discrete.html +50 -0
  211. data/vendor/tests/data/histogram.html +56 -0
  212. data/vendor/tests/data/log-adjusted.html +48 -0
  213. data/vendor/tests/data/log-ceil.html +48 -0
  214. data/vendor/tests/data/log-floor.html +48 -0
  215. data/vendor/tests/data/log-symmetric.html +48 -0
  216. data/vendor/tests/data/log.html +48 -0
  217. data/vendor/tests/data/max-index.html +36 -0
  218. data/vendor/tests/data/max.html +36 -0
  219. data/vendor/tests/data/min-index.html +36 -0
  220. data/vendor/tests/data/min.html +36 -0
  221. data/vendor/tests/data/ordinal-split-banded.html +45 -0
  222. data/vendor/tests/data/ordinal-split-banded2.html +45 -0
  223. data/vendor/tests/data/ordinal-split-flush.html +51 -0
  224. data/vendor/tests/data/ordinal-split.html +51 -0
  225. data/vendor/tests/data/range.html +105 -0
  226. data/vendor/tests/data/scale-date.html +46 -0
  227. data/vendor/tests/data/scale-date2.html +38 -0
  228. data/vendor/tests/data/scale-date3.html +38 -0
  229. data/vendor/tests/data/scale-date4.html +38 -0
  230. data/vendor/tests/data/scale-degenerate.html +143 -0
  231. data/vendor/tests/data/scale-linear.html +59 -0
  232. data/vendor/tests/data/scale-log.html +60 -0
  233. data/vendor/tests/data/scale-log2.html +60 -0
  234. data/vendor/tests/data/scale-log3.html +60 -0
  235. data/vendor/tests/data/scale-log4.html +60 -0
  236. data/vendor/tests/data/scale-log5.html +60 -0
  237. data/vendor/tests/data/scale-log6.html +60 -0
  238. data/vendor/tests/data/scale-quantile.html +47 -0
  239. data/vendor/tests/data/scale-quantile2.html +50 -0
  240. data/vendor/tests/data/scale-quantile3.html +48 -0
  241. data/vendor/tests/data/scale-root.html +60 -0
  242. data/vendor/tests/data/scale-root2.html +39 -0
  243. data/vendor/tests/data/scale-tick-format.html +54 -0
  244. data/vendor/tests/data/scale-ticks.html +45 -0
  245. data/vendor/tests/data/sum.html +42 -0
  246. data/vendor/tests/data/variance.html +42 -0
  247. data/vendor/tests/diamond.js +40 -0
  248. data/vendor/tests/flare-imports.js +222 -0
  249. data/vendor/tests/flare.js +284 -0
  250. data/vendor/tests/geo/countries-hires.js +257 -0
  251. data/vendor/tests/geo/countries-lores.js +197 -0
  252. data/vendor/tests/geo/population.js +250 -0
  253. data/vendor/tests/geo/scale-aitoff.html +58 -0
  254. data/vendor/tests/geo/scale-gall-peters.html +56 -0
  255. data/vendor/tests/geo/scale-hammer.html +58 -0
  256. data/vendor/tests/geo/scale-identity.html +56 -0
  257. data/vendor/tests/geo/scale-mercator.html +56 -0
  258. data/vendor/tests/geo/scale-sinusoidal.html +57 -0
  259. data/vendor/tests/geo/scale-smart-domain.html +58 -0
  260. data/vendor/tests/geo/scale.html +55 -0
  261. data/vendor/tests/geo/scale2.html +40 -0
  262. data/vendor/tests/geo/us-states.js +61 -0
  263. data/vendor/tests/heatmap.js +63 -0
  264. data/vendor/tests/lang/globals.html +41 -0
  265. data/vendor/tests/lang/init.html +31 -0
  266. data/vendor/tests/layers.js +28 -0
  267. data/vendor/tests/layout/arc-directed.html +33 -0
  268. data/vendor/tests/layout/arc-radial.html +36 -0
  269. data/vendor/tests/layout/arc-undirected.html +32 -0
  270. data/vendor/tests/layout/arc.html +33 -0
  271. data/vendor/tests/layout/arc2.html +32 -0
  272. data/vendor/tests/layout/bullet-multiples.html +60 -0
  273. data/vendor/tests/layout/bullet.html +45 -0
  274. data/vendor/tests/layout/bullets.js +37 -0
  275. data/vendor/tests/layout/cluster-fill-group.html +24 -0
  276. data/vendor/tests/layout/cluster-fill.html +28 -0
  277. data/vendor/tests/layout/cluster-partition-radial-fill.html +43 -0
  278. data/vendor/tests/layout/cluster-radial-fill-radius.html +26 -0
  279. data/vendor/tests/layout/cluster-radial-fill.html +29 -0
  280. data/vendor/tests/layout/cluster-radial-group-fill.html +30 -0
  281. data/vendor/tests/layout/cluster-radial-radius.html +30 -0
  282. data/vendor/tests/layout/cluster-radial.html +28 -0
  283. data/vendor/tests/layout/cluster-radial2.html +33 -0
  284. data/vendor/tests/layout/cluster.html +34 -0
  285. data/vendor/tests/layout/cluster2.html +32 -0
  286. data/vendor/tests/layout/force-toggle.html +46 -0
  287. data/vendor/tests/layout/force.html +45 -0
  288. data/vendor/tests/layout/force2.html +58 -0
  289. data/vendor/tests/layout/force3.html +41 -0
  290. data/vendor/tests/layout/force4.html +45 -0
  291. data/vendor/tests/layout/force5.html +53 -0
  292. data/vendor/tests/layout/grid-cols.html +31 -0
  293. data/vendor/tests/layout/grid-heatmap.html +25 -0
  294. data/vendor/tests/layout/grid-rows.html +31 -0
  295. data/vendor/tests/layout/grid.html +34 -0
  296. data/vendor/tests/layout/horizon-color.html +31 -0
  297. data/vendor/tests/layout/horizon.html +31 -0
  298. data/vendor/tests/layout/indent-toggle.html +62 -0
  299. data/vendor/tests/layout/indent.html +25 -0
  300. data/vendor/tests/layout/indent2.html +33 -0
  301. data/vendor/tests/layout/matrix-sort.html +28 -0
  302. data/vendor/tests/layout/matrix.html +35 -0
  303. data/vendor/tests/layout/network.html +43 -0
  304. data/vendor/tests/layout/pack-bubble.html +45 -0
  305. data/vendor/tests/layout/pack.html +26 -0
  306. data/vendor/tests/layout/pack2.html +32 -0
  307. data/vendor/tests/layout/partition-fill.html +27 -0
  308. data/vendor/tests/layout/partition-fill2.html +22 -0
  309. data/vendor/tests/layout/partition-fill3.html +27 -0
  310. data/vendor/tests/layout/partition-radial-fill-radius.html +25 -0
  311. data/vendor/tests/layout/partition-radial-fill.html +26 -0
  312. data/vendor/tests/layout/partition-radial-fill2.html +23 -0
  313. data/vendor/tests/layout/partition-radial-fill3.html +29 -0
  314. data/vendor/tests/layout/partition-radial-radius.html +29 -0
  315. data/vendor/tests/layout/partition-radial.html +30 -0
  316. data/vendor/tests/layout/partition-radial2.html +33 -0
  317. data/vendor/tests/layout/partition.html +33 -0
  318. data/vendor/tests/layout/partition2.html +32 -0
  319. data/vendor/tests/layout/rollup.html +50 -0
  320. data/vendor/tests/layout/stack-empty.html +27 -0
  321. data/vendor/tests/layout/stack-expand.html +41 -0
  322. data/vendor/tests/layout/stack-reverse.html +42 -0
  323. data/vendor/tests/layout/stack-right.html +42 -0
  324. data/vendor/tests/layout/stack-rule.html +61 -0
  325. data/vendor/tests/layout/stack-visible.html +43 -0
  326. data/vendor/tests/layout/stack.html +53 -0
  327. data/vendor/tests/layout/tree-radial.html +31 -0
  328. data/vendor/tests/layout/tree-radial2.html +34 -0
  329. data/vendor/tests/layout/tree-toggle.html +36 -0
  330. data/vendor/tests/layout/tree.html +31 -0
  331. data/vendor/tests/layout/tree2.html +35 -0
  332. data/vendor/tests/layout/treemap-hierarchy.html +40 -0
  333. data/vendor/tests/layout/treemap-margin.html +26 -0
  334. data/vendor/tests/layout/treemap-round.html +40 -0
  335. data/vendor/tests/layout/treemap-slice.html +34 -0
  336. data/vendor/tests/layout/treemap.html +37 -0
  337. data/vendor/tests/life.js +212 -0
  338. data/vendor/tests/mark/anchor.html +25 -0
  339. data/vendor/tests/mark/area-anchor-chain.html +42 -0
  340. data/vendor/tests/mark/area-anchor-line.html +57 -0
  341. data/vendor/tests/mark/area-anchor-stack.html +35 -0
  342. data/vendor/tests/mark/area-anchor.html +43 -0
  343. data/vendor/tests/mark/area-anchor2.html +33 -0
  344. data/vendor/tests/mark/area-cardinal.html +57 -0
  345. data/vendor/tests/mark/area-monotone.html +57 -0
  346. data/vendor/tests/mark/area-segmented-basis.html +30 -0
  347. data/vendor/tests/mark/area-segmented-cardinal.html +30 -0
  348. data/vendor/tests/mark/area-segmented-monotone.html +30 -0
  349. data/vendor/tests/mark/area-segmented-step.html +44 -0
  350. data/vendor/tests/mark/area-segmented.html +29 -0
  351. data/vendor/tests/mark/area-stacked-cardinal.html +54 -0
  352. data/vendor/tests/mark/area-stacked-monotone.html +54 -0
  353. data/vendor/tests/mark/area-stacked.html +53 -0
  354. data/vendor/tests/mark/area-step.html +43 -0
  355. data/vendor/tests/mark/area-zero.html +32 -0
  356. data/vendor/tests/mark/area.html +57 -0
  357. data/vendor/tests/mark/bar-anchor-stack.html +51 -0
  358. data/vendor/tests/mark/bar-anchor.html +44 -0
  359. data/vendor/tests/mark/bar-column-grouped.html +63 -0
  360. data/vendor/tests/mark/bar-column-stacked.html +56 -0
  361. data/vendor/tests/mark/bar-column.html +54 -0
  362. data/vendor/tests/mark/bar-grouped.html +63 -0
  363. data/vendor/tests/mark/bar-stacked.html +57 -0
  364. data/vendor/tests/mark/bar.html +54 -0
  365. data/vendor/tests/mark/cursor.html +41 -0
  366. data/vendor/tests/mark/def-type.html +23 -0
  367. data/vendor/tests/mark/dot-anchor.html +33 -0
  368. data/vendor/tests/mark/dot-radius.html +22 -0
  369. data/vendor/tests/mark/dot-stroke.html +43 -0
  370. data/vendor/tests/mark/dot.html +52 -0
  371. data/vendor/tests/mark/dot2.html +61 -0
  372. data/vendor/tests/mark/ease.html +90 -0
  373. data/vendor/tests/mark/event-dblclick.html +30 -0
  374. data/vendor/tests/mark/event-prototype.html +45 -0
  375. data/vendor/tests/mark/event-render.html +45 -0
  376. data/vendor/tests/mark/event.html +24 -0
  377. data/vendor/tests/mark/image-color-inherit.html +33 -0
  378. data/vendor/tests/mark/image-color.html +35 -0
  379. data/vendor/tests/mark/image-color2.html +35 -0
  380. data/vendor/tests/mark/image-heatmap.html +29 -0
  381. data/vendor/tests/mark/image.html +32 -0
  382. data/vendor/tests/mark/label-break.html +54 -0
  383. data/vendor/tests/mark/label-decoration.html +22 -0
  384. data/vendor/tests/mark/label-events.html +32 -0
  385. data/vendor/tests/mark/line-anchor.html +42 -0
  386. data/vendor/tests/mark/line-basis.html +54 -0
  387. data/vendor/tests/mark/line-brownian.html +57 -0
  388. data/vendor/tests/mark/line-cardinal.html +77 -0
  389. data/vendor/tests/mark/line-catmull-rom.html +78 -0
  390. data/vendor/tests/mark/line-curve.html +65 -0
  391. data/vendor/tests/mark/line-eccentricity.html +39 -0
  392. data/vendor/tests/mark/line-fill.html +24 -0
  393. data/vendor/tests/mark/line-join.html +51 -0
  394. data/vendor/tests/mark/line-monotone-non-monotone.html +53 -0
  395. data/vendor/tests/mark/line-monotone-two-way.html +61 -0
  396. data/vendor/tests/mark/line-monotone.html +53 -0
  397. data/vendor/tests/mark/line-polar.html +36 -0
  398. data/vendor/tests/mark/line-segmented-basis.html +57 -0
  399. data/vendor/tests/mark/line-segmented-cardinal.html +80 -0
  400. data/vendor/tests/mark/line-segmented-join.html +52 -0
  401. data/vendor/tests/mark/line-segmented-monotone.html +56 -0
  402. data/vendor/tests/mark/line-segmented-polar.html +30 -0
  403. data/vendor/tests/mark/line-segmented-step.html +41 -0
  404. data/vendor/tests/mark/line-segmented-step2.html +32 -0
  405. data/vendor/tests/mark/line-segmented.html +30 -0
  406. data/vendor/tests/mark/line-step.html +39 -0
  407. data/vendor/tests/mark/line-tension.html +59 -0
  408. data/vendor/tests/mark/line.html +51 -0
  409. data/vendor/tests/mark/panel-anchor.html +37 -0
  410. data/vendor/tests/mark/panel-anchor2.html +31 -0
  411. data/vendor/tests/mark/panel-anchor3.html +22 -0
  412. data/vendor/tests/mark/panel-anchor4.html +28 -0
  413. data/vendor/tests/mark/panel-anchor5.html +28 -0
  414. data/vendor/tests/mark/panel-append.html +29 -0
  415. data/vendor/tests/mark/panel-canvas.html +107 -0
  416. data/vendor/tests/mark/panel-fill.html +50 -0
  417. data/vendor/tests/mark/panel-mouse.html +53 -0
  418. data/vendor/tests/mark/panel-transform.html +67 -0
  419. data/vendor/tests/mark/property-cast.html +24 -0
  420. data/vendor/tests/mark/render-partial.html +42 -0
  421. data/vendor/tests/mark/rule-anchor.html +29 -0
  422. data/vendor/tests/mark/title.html +41 -0
  423. data/vendor/tests/mark/transition-anchor.html +47 -0
  424. data/vendor/tests/mark/transition-wedge.html +47 -0
  425. data/vendor/tests/mark/transition.html +106 -0
  426. data/vendor/tests/mark/wedge-donut.html +35 -0
  427. data/vendor/tests/mark/wedge-implied.html +42 -0
  428. data/vendor/tests/mark/wedge-pie.html +37 -0
  429. data/vendor/tests/mark/wedge-ring.html +27 -0
  430. data/vendor/tests/miserables.js +348 -0
  431. data/vendor/tests/physics/dorling.html +70 -0
  432. data/vendor/tests/physics/simulation.html +56 -0
  433. data/vendor/tests/social.js +28 -0
  434. data/vendor/tests/stanford.png +0 -0
  435. data/vendor/tests/style.css +5 -0
  436. data/vendor/tests/testify.css +29 -0
  437. data/vendor/tests/testify.js +16 -0
  438. data/vendor/tests/text/format-number.html +75 -0
  439. data/web/first.svg +1 -0
  440. data/web/index.html +48 -0
  441. metadata +434 -31
  442. data.tar.gz.sig +0 -0
  443. metadata.gz.sig +0 -2
@@ -0,0 +1,598 @@
1
+ /**
2
+ * Returns the {@link pv.Color} for the specified color format string. Colors
3
+ * may have an associated opacity, or alpha channel. Color formats are specified
4
+ * by CSS Color Modular Level 3, using either in RGB or HSL color space. For
5
+ * example:<ul>
6
+ *
7
+ * <li>#f00 // #rgb
8
+ * <li>#ff0000 // #rrggbb
9
+ * <li>rgb(255, 0, 0)
10
+ * <li>rgb(100%, 0%, 0%)
11
+ * <li>hsl(0, 100%, 50%)
12
+ * <li>rgba(0, 0, 255, 0.5)
13
+ * <li>hsla(120, 100%, 50%, 1)
14
+ *
15
+ * </ul>The SVG 1.0 color keywords names are also supported, such as "aliceblue"
16
+ * and "yellowgreen". The "transparent" keyword is supported for fully-
17
+ * transparent black.
18
+ *
19
+ * <p>If the <tt>format</tt> argument is already an instance of <tt>Color</tt>,
20
+ * the argument is returned with no further processing.
21
+ *
22
+ * @param {string} format the color specification string, such as "#f00".
23
+ * @returns {pv.Color} the corresponding <tt>Color</tt>.
24
+ * @see <a href="http://www.w3.org/TR/SVG/types.html#ColorKeywords">SVG color
25
+ * keywords</a>
26
+ * @see <a href="http://www.w3.org/TR/css3-color/">CSS3 color module</a>
27
+ */
28
+ pv.color = function(format) {
29
+ if (format.rgb) return format.rgb();
30
+
31
+ /* Handle hsl, rgb. */
32
+ var m1 = /([a-z]+)\((.*)\)/i.exec(format);
33
+ if (m1) {
34
+ var m2 = m1[2].split(","), a = 1;
35
+ switch (m1[1]) {
36
+ case "hsla":
37
+ case "rgba": {
38
+ a = parseFloat(m2[3]);
39
+ if (!a) return pv.Color.transparent;
40
+ break;
41
+ }
42
+ }
43
+ switch (m1[1]) {
44
+ case "hsla":
45
+ case "hsl": {
46
+ var h = parseFloat(m2[0]), // degrees
47
+ s = parseFloat(m2[1]) / 100, // percentage
48
+ l = parseFloat(m2[2]) / 100; // percentage
49
+ return (new pv.Color.Hsl(h, s, l, a)).rgb();
50
+ }
51
+ case "rgba":
52
+ case "rgb": {
53
+ function parse(c) { // either integer or percentage
54
+ var f = parseFloat(c);
55
+ return (c[c.length - 1] == '%') ? Math.round(f * 2.55) : f;
56
+ }
57
+ var r = parse(m2[0]), g = parse(m2[1]), b = parse(m2[2]);
58
+ return pv.rgb(r, g, b, a);
59
+ }
60
+ }
61
+ }
62
+
63
+ /* Named colors. */
64
+ var named = pv.Color.names[format];
65
+ if (named) return named;
66
+
67
+ /* Hexadecimal colors: #rgb and #rrggbb. */
68
+ if (format.charAt(0) == "#") {
69
+ var r, g, b;
70
+ if (format.length == 4) {
71
+ r = format.charAt(1); r += r;
72
+ g = format.charAt(2); g += g;
73
+ b = format.charAt(3); b += b;
74
+ } else if (format.length == 7) {
75
+ r = format.substring(1, 3);
76
+ g = format.substring(3, 5);
77
+ b = format.substring(5, 7);
78
+ }
79
+ return pv.rgb(parseInt(r, 16), parseInt(g, 16), parseInt(b, 16), 1);
80
+ }
81
+
82
+ /* Otherwise, pass-through unsupported colors. */
83
+ return new pv.Color(format, 1);
84
+ };
85
+
86
+ /**
87
+ * Constructs a color with the specified color format string and opacity. This
88
+ * constructor should not be invoked directly; use {@link pv.color} instead.
89
+ *
90
+ * @class Represents an abstract (possibly translucent) color. The color is
91
+ * divided into two parts: the <tt>color</tt> attribute, an opaque color format
92
+ * string, and the <tt>opacity</tt> attribute, a float in [0, 1]. The color
93
+ * space is dependent on the implementing class; all colors support the
94
+ * {@link #rgb} method to convert to RGB color space for interpolation.
95
+ *
96
+ * <p>See also the <a href="../../api/Color.html">Color guide</a>.
97
+ *
98
+ * @param {string} color an opaque color format string, such as "#f00".
99
+ * @param {number} opacity the opacity, in [0,1].
100
+ * @see pv.color
101
+ */
102
+ pv.Color = function(color, opacity) {
103
+ /**
104
+ * An opaque color format string, such as "#f00".
105
+ *
106
+ * @type string
107
+ * @see <a href="http://www.w3.org/TR/SVG/types.html#ColorKeywords">SVG color
108
+ * keywords</a>
109
+ * @see <a href="http://www.w3.org/TR/css3-color/">CSS3 color module</a>
110
+ */
111
+ this.color = color;
112
+
113
+ /**
114
+ * The opacity, a float in [0, 1].
115
+ *
116
+ * @type number
117
+ */
118
+ this.opacity = opacity;
119
+ };
120
+
121
+ /**
122
+ * Returns a new color that is a brighter version of this color. The behavior of
123
+ * this method may vary slightly depending on the underlying color space.
124
+ * Although brighter and darker are inverse operations, the results of a series
125
+ * of invocations of these two methods might be inconsistent because of rounding
126
+ * errors.
127
+ *
128
+ * @param [k] {number} an optional scale factor; defaults to 1.
129
+ * @see #darker
130
+ * @returns {pv.Color} a brighter color.
131
+ */
132
+ pv.Color.prototype.brighter = function(k) {
133
+ return this.rgb().brighter(k);
134
+ };
135
+
136
+ /**
137
+ * Returns a new color that is a brighter version of this color. The behavior of
138
+ * this method may vary slightly depending on the underlying color space.
139
+ * Although brighter and darker are inverse operations, the results of a series
140
+ * of invocations of these two methods might be inconsistent because of rounding
141
+ * errors.
142
+ *
143
+ * @param [k] {number} an optional scale factor; defaults to 1.
144
+ * @see #brighter
145
+ * @returns {pv.Color} a darker color.
146
+ */
147
+ pv.Color.prototype.darker = function(k) {
148
+ return this.rgb().darker(k);
149
+ };
150
+
151
+ /**
152
+ * Constructs a new RGB color with the specified channel values.
153
+ *
154
+ * @param {number} r the red channel, an integer in [0,255].
155
+ * @param {number} g the green channel, an integer in [0,255].
156
+ * @param {number} b the blue channel, an integer in [0,255].
157
+ * @param {number} [a] the alpha channel, a float in [0,1].
158
+ * @returns pv.Color.Rgb
159
+ */
160
+ pv.rgb = function(r, g, b, a) {
161
+ return new pv.Color.Rgb(r, g, b, (arguments.length == 4) ? a : 1);
162
+ };
163
+
164
+ /**
165
+ * Constructs a new RGB color with the specified channel values.
166
+ *
167
+ * @class Represents a color in RGB space.
168
+ *
169
+ * @param {number} r the red channel, an integer in [0,255].
170
+ * @param {number} g the green channel, an integer in [0,255].
171
+ * @param {number} b the blue channel, an integer in [0,255].
172
+ * @param {number} a the alpha channel, a float in [0,1].
173
+ * @extends pv.Color
174
+ */
175
+ pv.Color.Rgb = function(r, g, b, a) {
176
+ pv.Color.call(this, a ? ("rgb(" + r + "," + g + "," + b + ")") : "none", a);
177
+
178
+ /**
179
+ * The red channel, an integer in [0, 255].
180
+ *
181
+ * @type number
182
+ */
183
+ this.r = r;
184
+
185
+ /**
186
+ * The green channel, an integer in [0, 255].
187
+ *
188
+ * @type number
189
+ */
190
+ this.g = g;
191
+
192
+ /**
193
+ * The blue channel, an integer in [0, 255].
194
+ *
195
+ * @type number
196
+ */
197
+ this.b = b;
198
+
199
+ /**
200
+ * The alpha channel, a float in [0, 1].
201
+ *
202
+ * @type number
203
+ */
204
+ this.a = a;
205
+ };
206
+ pv.Color.Rgb.prototype = pv.extend(pv.Color);
207
+
208
+ /**
209
+ * Constructs a new RGB color with the same green, blue and alpha channels as
210
+ * this color, with the specified red channel.
211
+ *
212
+ * @param {number} r the red channel, an integer in [0,255].
213
+ */
214
+ pv.Color.Rgb.prototype.red = function(r) {
215
+ return pv.rgb(r, this.g, this.b, this.a);
216
+ };
217
+
218
+ /**
219
+ * Constructs a new RGB color with the same red, blue and alpha channels as this
220
+ * color, with the specified green channel.
221
+ *
222
+ * @param {number} g the green channel, an integer in [0,255].
223
+ */
224
+ pv.Color.Rgb.prototype.green = function(g) {
225
+ return pv.rgb(this.r, g, this.b, this.a);
226
+ };
227
+
228
+ /**
229
+ * Constructs a new RGB color with the same red, green and alpha channels as
230
+ * this color, with the specified blue channel.
231
+ *
232
+ * @param {number} b the blue channel, an integer in [0,255].
233
+ */
234
+ pv.Color.Rgb.prototype.blue = function(b) {
235
+ return pv.rgb(this.r, this.g, b, this.a);
236
+ };
237
+
238
+ /**
239
+ * Constructs a new RGB color with the same red, green and blue channels as this
240
+ * color, with the specified alpha channel.
241
+ *
242
+ * @param {number} a the alpha channel, a float in [0,1].
243
+ */
244
+ pv.Color.Rgb.prototype.alpha = function(a) {
245
+ return pv.rgb(this.r, this.g, this.b, a);
246
+ };
247
+
248
+ /**
249
+ * Returns the RGB color equivalent to this color. This method is abstract and
250
+ * must be implemented by subclasses.
251
+ *
252
+ * @returns {pv.Color.Rgb} an RGB color.
253
+ * @function
254
+ * @name pv.Color.prototype.rgb
255
+ */
256
+
257
+ /**
258
+ * Returns this.
259
+ *
260
+ * @returns {pv.Color.Rgb} this.
261
+ */
262
+ pv.Color.Rgb.prototype.rgb = function() { return this; };
263
+
264
+ /**
265
+ * Returns a new color that is a brighter version of this color. This method
266
+ * applies an arbitrary scale factor to each of the three RGB components of this
267
+ * color to create a brighter version of this color. Although brighter and
268
+ * darker are inverse operations, the results of a series of invocations of
269
+ * these two methods might be inconsistent because of rounding errors.
270
+ *
271
+ * @param [k] {number} an optional scale factor; defaults to 1.
272
+ * @see #darker
273
+ * @returns {pv.Color.Rgb} a brighter color.
274
+ */
275
+ pv.Color.Rgb.prototype.brighter = function(k) {
276
+ k = Math.pow(0.7, arguments.length ? k : 1);
277
+ var r = this.r, g = this.g, b = this.b, i = 30;
278
+ if (!r && !g && !b) return pv.rgb(i, i, i, this.a);
279
+ if (r && (r < i)) r = i;
280
+ if (g && (g < i)) g = i;
281
+ if (b && (b < i)) b = i;
282
+ return pv.rgb(
283
+ Math.min(255, Math.floor(r / k)),
284
+ Math.min(255, Math.floor(g / k)),
285
+ Math.min(255, Math.floor(b / k)),
286
+ this.a);
287
+ };
288
+
289
+ /**
290
+ * Returns a new color that is a darker version of this color. This method
291
+ * applies an arbitrary scale factor to each of the three RGB components of this
292
+ * color to create a darker version of this color. Although brighter and darker
293
+ * are inverse operations, the results of a series of invocations of these two
294
+ * methods might be inconsistent because of rounding errors.
295
+ *
296
+ * @param [k] {number} an optional scale factor; defaults to 1.
297
+ * @see #brighter
298
+ * @returns {pv.Color.Rgb} a darker color.
299
+ */
300
+ pv.Color.Rgb.prototype.darker = function(k) {
301
+ k = Math.pow(0.7, arguments.length ? k : 1);
302
+ return pv.rgb(
303
+ Math.max(0, Math.floor(k * this.r)),
304
+ Math.max(0, Math.floor(k * this.g)),
305
+ Math.max(0, Math.floor(k * this.b)),
306
+ this.a);
307
+ };
308
+
309
+ /**
310
+ * Constructs a new HSL color with the specified values.
311
+ *
312
+ * @param {number} h the hue, an integer in [0, 360].
313
+ * @param {number} s the saturation, a float in [0, 1].
314
+ * @param {number} l the lightness, a float in [0, 1].
315
+ * @param {number} [a] the opacity, a float in [0, 1].
316
+ * @returns pv.Color.Hsl
317
+ */
318
+ pv.hsl = function(h, s, l, a) {
319
+ return new pv.Color.Hsl(h, s, l, (arguments.length == 4) ? a : 1);
320
+ };
321
+
322
+ /**
323
+ * Constructs a new HSL color with the specified values.
324
+ *
325
+ * @class Represents a color in HSL space.
326
+ *
327
+ * @param {number} h the hue, an integer in [0, 360].
328
+ * @param {number} s the saturation, a float in [0, 1].
329
+ * @param {number} l the lightness, a float in [0, 1].
330
+ * @param {number} a the opacity, a float in [0, 1].
331
+ * @extends pv.Color
332
+ */
333
+ pv.Color.Hsl = function(h, s, l, a) {
334
+ pv.Color.call(this, "hsl(" + h + "," + (s * 100) + "%," + (l * 100) + "%)", a);
335
+
336
+ /**
337
+ * The hue, an integer in [0, 360].
338
+ *
339
+ * @type number
340
+ */
341
+ this.h = h;
342
+
343
+ /**
344
+ * The saturation, a float in [0, 1].
345
+ *
346
+ * @type number
347
+ */
348
+ this.s = s;
349
+
350
+ /**
351
+ * The lightness, a float in [0, 1].
352
+ *
353
+ * @type number
354
+ */
355
+ this.l = l;
356
+
357
+ /**
358
+ * The opacity, a float in [0, 1].
359
+ *
360
+ * @type number
361
+ */
362
+ this.a = a;
363
+ };
364
+ pv.Color.Hsl.prototype = pv.extend(pv.Color);
365
+
366
+ /**
367
+ * Constructs a new HSL color with the same saturation, lightness and alpha as
368
+ * this color, and the specified hue.
369
+ *
370
+ * @param {number} h the hue, an integer in [0, 360].
371
+ */
372
+ pv.Color.Hsl.prototype.hue = function(h) {
373
+ return pv.hsl(h, this.s, this.l, this.a);
374
+ };
375
+
376
+ /**
377
+ * Constructs a new HSL color with the same hue, lightness and alpha as this
378
+ * color, and the specified saturation.
379
+ *
380
+ * @param {number} s the saturation, a float in [0, 1].
381
+ */
382
+ pv.Color.Hsl.prototype.saturation = function(s) {
383
+ return pv.hsl(this.h, s, this.l, this.a);
384
+ };
385
+
386
+ /**
387
+ * Constructs a new HSL color with the same hue, saturation and alpha as this
388
+ * color, and the specified lightness.
389
+ *
390
+ * @param {number} l the lightness, a float in [0, 1].
391
+ */
392
+ pv.Color.Hsl.prototype.lightness = function(l) {
393
+ return pv.hsl(this.h, this.s, l, this.a);
394
+ };
395
+
396
+ /**
397
+ * Constructs a new HSL color with the same hue, saturation and lightness as
398
+ * this color, and the specified alpha.
399
+ *
400
+ * @param {number} a the opacity, a float in [0, 1].
401
+ */
402
+ pv.Color.Hsl.prototype.alpha = function(a) {
403
+ return pv.hsl(this.h, this.s, this.l, a);
404
+ };
405
+
406
+ /**
407
+ * Returns the RGB color equivalent to this HSL color.
408
+ *
409
+ * @returns {pv.Color.Rgb} an RGB color.
410
+ */
411
+ pv.Color.Hsl.prototype.rgb = function() {
412
+ var h = this.h, s = this.s, l = this.l;
413
+
414
+ /* Some simple corrections for h, s and l. */
415
+ h = h % 360; if (h < 0) h += 360;
416
+ s = Math.max(0, Math.min(s, 1));
417
+ l = Math.max(0, Math.min(l, 1));
418
+
419
+ /* From FvD 13.37, CSS Color Module Level 3 */
420
+ var m2 = (l <= .5) ? (l * (1 + s)) : (l + s - l * s);
421
+ var m1 = 2 * l - m2;
422
+ function v(h) {
423
+ if (h > 360) h -= 360;
424
+ else if (h < 0) h += 360;
425
+ if (h < 60) return m1 + (m2 - m1) * h / 60;
426
+ if (h < 180) return m2;
427
+ if (h < 240) return m1 + (m2 - m1) * (240 - h) / 60;
428
+ return m1;
429
+ }
430
+ function vv(h) {
431
+ return Math.round(v(h) * 255);
432
+ }
433
+
434
+ return pv.rgb(vv(h + 120), vv(h), vv(h - 120), this.a);
435
+ };
436
+
437
+ /**
438
+ * @private SVG color keywords, per CSS Color Module Level 3.
439
+ *
440
+ * @see <a href="http://www.w3.org/TR/SVG/types.html#ColorKeywords">SVG color
441
+ * keywords</a>
442
+ */
443
+ pv.Color.names = {
444
+ aliceblue: "#f0f8ff",
445
+ antiquewhite: "#faebd7",
446
+ aqua: "#00ffff",
447
+ aquamarine: "#7fffd4",
448
+ azure: "#f0ffff",
449
+ beige: "#f5f5dc",
450
+ bisque: "#ffe4c4",
451
+ black: "#000000",
452
+ blanchedalmond: "#ffebcd",
453
+ blue: "#0000ff",
454
+ blueviolet: "#8a2be2",
455
+ brown: "#a52a2a",
456
+ burlywood: "#deb887",
457
+ cadetblue: "#5f9ea0",
458
+ chartreuse: "#7fff00",
459
+ chocolate: "#d2691e",
460
+ coral: "#ff7f50",
461
+ cornflowerblue: "#6495ed",
462
+ cornsilk: "#fff8dc",
463
+ crimson: "#dc143c",
464
+ cyan: "#00ffff",
465
+ darkblue: "#00008b",
466
+ darkcyan: "#008b8b",
467
+ darkgoldenrod: "#b8860b",
468
+ darkgray: "#a9a9a9",
469
+ darkgreen: "#006400",
470
+ darkgrey: "#a9a9a9",
471
+ darkkhaki: "#bdb76b",
472
+ darkmagenta: "#8b008b",
473
+ darkolivegreen: "#556b2f",
474
+ darkorange: "#ff8c00",
475
+ darkorchid: "#9932cc",
476
+ darkred: "#8b0000",
477
+ darksalmon: "#e9967a",
478
+ darkseagreen: "#8fbc8f",
479
+ darkslateblue: "#483d8b",
480
+ darkslategray: "#2f4f4f",
481
+ darkslategrey: "#2f4f4f",
482
+ darkturquoise: "#00ced1",
483
+ darkviolet: "#9400d3",
484
+ deeppink: "#ff1493",
485
+ deepskyblue: "#00bfff",
486
+ dimgray: "#696969",
487
+ dimgrey: "#696969",
488
+ dodgerblue: "#1e90ff",
489
+ firebrick: "#b22222",
490
+ floralwhite: "#fffaf0",
491
+ forestgreen: "#228b22",
492
+ fuchsia: "#ff00ff",
493
+ gainsboro: "#dcdcdc",
494
+ ghostwhite: "#f8f8ff",
495
+ gold: "#ffd700",
496
+ goldenrod: "#daa520",
497
+ gray: "#808080",
498
+ green: "#008000",
499
+ greenyellow: "#adff2f",
500
+ grey: "#808080",
501
+ honeydew: "#f0fff0",
502
+ hotpink: "#ff69b4",
503
+ indianred: "#cd5c5c",
504
+ indigo: "#4b0082",
505
+ ivory: "#fffff0",
506
+ khaki: "#f0e68c",
507
+ lavender: "#e6e6fa",
508
+ lavenderblush: "#fff0f5",
509
+ lawngreen: "#7cfc00",
510
+ lemonchiffon: "#fffacd",
511
+ lightblue: "#add8e6",
512
+ lightcoral: "#f08080",
513
+ lightcyan: "#e0ffff",
514
+ lightgoldenrodyellow: "#fafad2",
515
+ lightgray: "#d3d3d3",
516
+ lightgreen: "#90ee90",
517
+ lightgrey: "#d3d3d3",
518
+ lightpink: "#ffb6c1",
519
+ lightsalmon: "#ffa07a",
520
+ lightseagreen: "#20b2aa",
521
+ lightskyblue: "#87cefa",
522
+ lightslategray: "#778899",
523
+ lightslategrey: "#778899",
524
+ lightsteelblue: "#b0c4de",
525
+ lightyellow: "#ffffe0",
526
+ lime: "#00ff00",
527
+ limegreen: "#32cd32",
528
+ linen: "#faf0e6",
529
+ magenta: "#ff00ff",
530
+ maroon: "#800000",
531
+ mediumaquamarine: "#66cdaa",
532
+ mediumblue: "#0000cd",
533
+ mediumorchid: "#ba55d3",
534
+ mediumpurple: "#9370db",
535
+ mediumseagreen: "#3cb371",
536
+ mediumslateblue: "#7b68ee",
537
+ mediumspringgreen: "#00fa9a",
538
+ mediumturquoise: "#48d1cc",
539
+ mediumvioletred: "#c71585",
540
+ midnightblue: "#191970",
541
+ mintcream: "#f5fffa",
542
+ mistyrose: "#ffe4e1",
543
+ moccasin: "#ffe4b5",
544
+ navajowhite: "#ffdead",
545
+ navy: "#000080",
546
+ oldlace: "#fdf5e6",
547
+ olive: "#808000",
548
+ olivedrab: "#6b8e23",
549
+ orange: "#ffa500",
550
+ orangered: "#ff4500",
551
+ orchid: "#da70d6",
552
+ palegoldenrod: "#eee8aa",
553
+ palegreen: "#98fb98",
554
+ paleturquoise: "#afeeee",
555
+ palevioletred: "#db7093",
556
+ papayawhip: "#ffefd5",
557
+ peachpuff: "#ffdab9",
558
+ peru: "#cd853f",
559
+ pink: "#ffc0cb",
560
+ plum: "#dda0dd",
561
+ powderblue: "#b0e0e6",
562
+ purple: "#800080",
563
+ red: "#ff0000",
564
+ rosybrown: "#bc8f8f",
565
+ royalblue: "#4169e1",
566
+ saddlebrown: "#8b4513",
567
+ salmon: "#fa8072",
568
+ sandybrown: "#f4a460",
569
+ seagreen: "#2e8b57",
570
+ seashell: "#fff5ee",
571
+ sienna: "#a0522d",
572
+ silver: "#c0c0c0",
573
+ skyblue: "#87ceeb",
574
+ slateblue: "#6a5acd",
575
+ slategray: "#708090",
576
+ slategrey: "#708090",
577
+ snow: "#fffafa",
578
+ springgreen: "#00ff7f",
579
+ steelblue: "#4682b4",
580
+ tan: "#d2b48c",
581
+ teal: "#008080",
582
+ thistle: "#d8bfd8",
583
+ tomato: "#ff6347",
584
+ turquoise: "#40e0d0",
585
+ violet: "#ee82ee",
586
+ wheat: "#f5deb3",
587
+ white: "#ffffff",
588
+ whitesmoke: "#f5f5f5",
589
+ yellow: "#ffff00",
590
+ yellowgreen: "#9acd32",
591
+ transparent: pv.Color.transparent = pv.rgb(0, 0, 0, 0)
592
+ };
593
+
594
+ /* Initialized named colors. */
595
+ (function() {
596
+ var names = pv.Color.names;
597
+ for (var name in names) names[name] = pv.color(names[name]);
598
+ })();