rubyvis 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- data.tar.gz.sig +0 -0
- data/History.txt +8 -1
- data/Manifest.txt +100 -416
- data/README.txt +5 -2
- data/examples/barley/barley.rb +79 -0
- data/examples/crimea/crimea.rb +37 -0
- data/examples/crimea/crimea_line.rb +47 -0
- data/examples/second.rb +2 -2
- data/examples/third.rb +16 -0
- data/lib/rubyvis.rb +2 -1
- data/lib/rubyvis/color/color.rb +170 -169
- data/lib/rubyvis/color/colors.rb +4 -4
- data/lib/rubyvis/color/ramp.rb +1 -0
- data/lib/rubyvis/format.rb +2 -2
- data/lib/rubyvis/format/date.rb +9 -2
- data/lib/rubyvis/format/number.rb +3 -3
- data/lib/rubyvis/internals.rb +13 -13
- data/lib/rubyvis/javascript_behaviour.rb +3 -3
- data/lib/rubyvis/label.rb +1 -0
- data/lib/rubyvis/mark.rb +178 -169
- data/lib/rubyvis/mark/anchor.rb +4 -4
- data/lib/rubyvis/mark/area.rb +93 -5
- data/lib/rubyvis/mark/bar.rb +1 -1
- data/lib/rubyvis/mark/label.rb +2 -2
- data/lib/rubyvis/mark/line.rb +11 -5
- data/lib/rubyvis/mark/panel.rb +13 -11
- data/lib/rubyvis/mark/rule.rb +2 -2
- data/lib/rubyvis/property.rb +3 -2
- data/lib/rubyvis/scale.rb +4 -4
- data/lib/rubyvis/scale/linear.rb +2 -2
- data/lib/rubyvis/scale/ordinal.rb +41 -41
- data/lib/rubyvis/scale/quantitative.rb +212 -200
- data/lib/rubyvis/scene/svg_bar.rb +21 -21
- data/lib/rubyvis/scene/svg_label.rb +34 -34
- data/lib/rubyvis/scene/svg_line.rb +185 -0
- data/lib/rubyvis/scene/svg_panel.rb +36 -30
- data/lib/rubyvis/scene/svg_rule.rb +18 -19
- data/lib/rubyvis/scene/svg_scene.rb +33 -30
- data/lib/rubyvis/sceneelement.rb +5 -1
- data/lib/rubyvis/transform.rb +2 -2
- data/spec/mark_spec.rb +6 -6
- data/spec/scale_linear_datetime_spec.rb +52 -0
- data/spec/scale_linear_spec.rb +0 -10
- data/vendor/{protovis-r3.3.js → protovis/protovis-r3.3.js} +0 -0
- data/vendor/{src → protovis/src}/behavior/Behavior.js +0 -0
- data/vendor/{src → protovis/src}/behavior/Drag.js +0 -0
- data/vendor/{src → protovis/src}/behavior/Pan.js +0 -0
- data/vendor/{src → protovis/src}/behavior/Point.js +0 -0
- data/vendor/{src → protovis/src}/behavior/Resize.js +0 -0
- data/vendor/{src → protovis/src}/behavior/Select.js +0 -0
- data/vendor/{src → protovis/src}/behavior/Zoom.js +0 -0
- data/vendor/{src → protovis/src}/color/Color.js +0 -0
- data/vendor/{src → protovis/src}/color/Colors.js +0 -0
- data/vendor/{src → protovis/src}/color/Ramp.js +0 -0
- data/vendor/{src → protovis/src}/data/Arrays.js +0 -0
- data/vendor/{src → protovis/src}/data/Dom.js +0 -0
- data/vendor/{src → protovis/src}/data/Flatten.js +0 -0
- data/vendor/{src → protovis/src}/data/Histogram.js +0 -0
- data/vendor/{src → protovis/src}/data/LinearScale.js +0 -0
- data/vendor/{src → protovis/src}/data/LogScale.js +0 -0
- data/vendor/{src → protovis/src}/data/Nest.js +0 -0
- data/vendor/{src → protovis/src}/data/Numbers.js +0 -0
- data/vendor/{src → protovis/src}/data/Objects.js +0 -0
- data/vendor/{src → protovis/src}/data/OrdinalScale.js +0 -0
- data/vendor/{src → protovis/src}/data/QuantileScale.js +0 -0
- data/vendor/{src → protovis/src}/data/QuantitativeScale.js +0 -0
- data/vendor/{src → protovis/src}/data/RootScale.js +0 -0
- data/vendor/{src → protovis/src}/data/Scale.js +0 -0
- data/vendor/{src → protovis/src}/data/Transform.js +0 -0
- data/vendor/{src → protovis/src}/data/Tree.js +0 -0
- data/vendor/{src → protovis/src}/data/Vector.js +0 -0
- data/vendor/{src → protovis/src}/geo/Geo.js +0 -0
- data/vendor/{src → protovis/src}/geo/GeoScale.js +0 -0
- data/vendor/{src → protovis/src}/geo/LatLng.js +0 -0
- data/vendor/{src → protovis/src}/geo/Projection.js +0 -0
- data/vendor/{src → protovis/src}/geo/Projections.js +0 -0
- data/vendor/{src → protovis/src}/lang/Array.js +0 -0
- data/vendor/{src → protovis/src}/lang/init.js +0 -0
- data/vendor/{src → protovis/src}/layout/Arc.js +0 -0
- data/vendor/{src → protovis/src}/layout/Bullet.js +0 -0
- data/vendor/{src → protovis/src}/layout/Cluster.js +0 -0
- data/vendor/{src → protovis/src}/layout/Force.js +0 -0
- data/vendor/{src → protovis/src}/layout/Grid.js +0 -0
- data/vendor/{src → protovis/src}/layout/Hierarchy.js +0 -0
- data/vendor/{src → protovis/src}/layout/Horizon.js +0 -0
- data/vendor/{src → protovis/src}/layout/Indent.js +0 -0
- data/vendor/{src → protovis/src}/layout/Layout.js +0 -0
- data/vendor/{src → protovis/src}/layout/Matrix.js +0 -0
- data/vendor/{src → protovis/src}/layout/Network.js +0 -0
- data/vendor/{src → protovis/src}/layout/Pack.js +0 -0
- data/vendor/{src → protovis/src}/layout/Partition.js +0 -0
- data/vendor/{src → protovis/src}/layout/Rollup.js +0 -0
- data/vendor/{src → protovis/src}/layout/Stack.js +0 -0
- data/vendor/{src → protovis/src}/layout/Tree.js +0 -0
- data/vendor/{src → protovis/src}/layout/Treemap.js +0 -0
- data/vendor/{src → protovis/src}/mark/Anchor.js +0 -0
- data/vendor/{src → protovis/src}/mark/Area.js +0 -0
- data/vendor/{src → protovis/src}/mark/Bar.js +0 -0
- data/vendor/{src → protovis/src}/mark/Dot.js +0 -0
- data/vendor/{src → protovis/src}/mark/Ease.js +0 -0
- data/vendor/{src → protovis/src}/mark/Image.js +0 -0
- data/vendor/{src → protovis/src}/mark/Label.js +0 -0
- data/vendor/{src → protovis/src}/mark/Line.js +0 -0
- data/vendor/{src → protovis/src}/mark/Mark.js +0 -0
- data/vendor/{src → protovis/src}/mark/Panel.js +0 -0
- data/vendor/{src → protovis/src}/mark/Rule.js +0 -0
- data/vendor/{src → protovis/src}/mark/Transient.js +0 -0
- data/vendor/{src → protovis/src}/mark/Transition.js +0 -0
- data/vendor/{src → protovis/src}/mark/Wedge.js +0 -0
- data/vendor/{src → protovis/src}/physics/BoundConstraint.js +0 -0
- data/vendor/{src → protovis/src}/physics/ChargeForce.js +0 -0
- data/vendor/{src → protovis/src}/physics/CollisionConstraint.js +0 -0
- data/vendor/{src → protovis/src}/physics/Constraint.js +0 -0
- data/vendor/{src → protovis/src}/physics/DragForce.js +0 -0
- data/vendor/{src → protovis/src}/physics/Force.js +0 -0
- data/vendor/{src → protovis/src}/physics/Particle.js +0 -0
- data/vendor/{src → protovis/src}/physics/PositionConstraint.js +0 -0
- data/vendor/{src → protovis/src}/physics/Quadtree.js +0 -0
- data/vendor/{src → protovis/src}/physics/Simulation.js +0 -0
- data/vendor/{src → protovis/src}/physics/SpringForce.js +0 -0
- data/vendor/{src → protovis/src}/pv-internals.js +0 -0
- data/vendor/{src → protovis/src}/pv.js +0 -0
- data/vendor/{src → protovis/src}/scene/SvgArea.js +0 -0
- data/vendor/{src → protovis/src}/scene/SvgBar.js +0 -0
- data/vendor/{src → protovis/src}/scene/SvgCurve.js +0 -0
- data/vendor/{src → protovis/src}/scene/SvgDot.js +0 -0
- data/vendor/{src → protovis/src}/scene/SvgImage.js +0 -0
- data/vendor/{src → protovis/src}/scene/SvgLabel.js +0 -0
- data/vendor/{src → protovis/src}/scene/SvgLine.js +0 -0
- data/vendor/{src → protovis/src}/scene/SvgPanel.js +0 -0
- data/vendor/{src → protovis/src}/scene/SvgRule.js +0 -0
- data/vendor/{src → protovis/src}/scene/SvgScene.js +0 -0
- data/vendor/{src → protovis/src}/scene/SvgWedge.js +0 -0
- data/vendor/{src → protovis/src}/text/DateFormat.js +0 -0
- data/vendor/{src → protovis/src}/text/Format.js +0 -0
- data/vendor/{src → protovis/src}/text/NumberFormat.js +0 -0
- data/vendor/{src → protovis/src}/text/TimeFormat.js +0 -0
- metadata +132 -426
- metadata.gz.sig +2 -0
- data/examples/crimea-line.rb +0 -64
- data/vendor/FUTURE +0 -62
- data/vendor/Makefile +0 -138
- data/vendor/TODO +0 -22
- data/vendor/examples/antibiotics/antibiotics-scatter.html +0 -113
- data/vendor/examples/antibiotics/antibiotics.html +0 -140
- data/vendor/examples/antibiotics/antibiotics.js +0 -20
- data/vendor/examples/barley/barley.html +0 -102
- data/vendor/examples/barley/barley.js +0 -122
- data/vendor/examples/cars/cars.html +0 -90
- data/vendor/examples/cars/cars.js +0 -408
- data/vendor/examples/clock/clock.html +0 -91
- data/vendor/examples/crimea/crimea-grouped-bar.html +0 -65
- data/vendor/examples/crimea/crimea-line.html +0 -61
- data/vendor/examples/crimea/crimea-stacked-area.html +0 -61
- data/vendor/examples/crimea/crimea-stacked-bar.html +0 -60
- data/vendor/examples/crimea/crimea.html +0 -100
- data/vendor/examples/crimea/crimea.js +0 -33
- data/vendor/examples/downloadify/LICENSE.txt +0 -22
- data/vendor/examples/downloadify/download.png +0 -0
- data/vendor/examples/downloadify/downloadify.html +0 -57
- data/vendor/examples/downloadify/downloadify.min.js +0 -3
- data/vendor/examples/downloadify/downloadify.swf +0 -0
- data/vendor/examples/downloadify/swfobject.js +0 -4
- data/vendor/examples/ex.css +0 -17
- data/vendor/examples/eyes/eyes.html +0 -53
- data/vendor/examples/eyes/matrix.html +0 -44
- data/vendor/examples/flowers/flowers.html +0 -109
- data/vendor/examples/flowers/flowers.js +0 -154
- data/vendor/examples/group-stack/group-stack.html +0 -79
- data/vendor/examples/group-stack/headcount.js +0 -23
- data/vendor/examples/hotel/hotel.html +0 -76
- data/vendor/examples/hotel/hotel.js +0 -245
- data/vendor/examples/jobs/jobs.html +0 -71
- data/vendor/examples/jobs/jobs.js +0 -1024
- data/vendor/examples/jquery-1.4.2.min.js +0 -154
- data/vendor/examples/nba/nba.html +0 -83
- data/vendor/examples/nba/nba.js +0 -53
- data/vendor/examples/nba/nba2.html +0 -82
- data/vendor/examples/sankey/gdp2009.js +0 -184
- data/vendor/examples/sankey/sankey.html +0 -77
- data/vendor/examples/slider/cell.html +0 -112
- data/vendor/examples/slider/cell.js +0 -31
- data/vendor/examples/slider/horizon.html +0 -85
- data/vendor/examples/slider/jquery-ui-1.8rc3.custom.min.js +0 -71
- data/vendor/examples/slider/slider.html +0 -50
- data/vendor/examples/slider/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
- data/vendor/examples/slider/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
- data/vendor/examples/slider/ui-lightness/images/ui-bg_flat_10_000000_40x100.png +0 -0
- data/vendor/examples/slider/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
- data/vendor/examples/slider/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
- data/vendor/examples/slider/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/vendor/examples/slider/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
- data/vendor/examples/slider/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
- data/vendor/examples/slider/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
- data/vendor/examples/slider/ui-lightness/images/ui-icons_222222_256x240.png +0 -2
- data/vendor/examples/slider/ui-lightness/images/ui-icons_228ef1_256x240.png +0 -2
- data/vendor/examples/slider/ui-lightness/images/ui-icons_ef8c08_256x240.png +0 -2
- data/vendor/examples/slider/ui-lightness/images/ui-icons_ffd27a_256x240.png +0 -2
- data/vendor/examples/slider/ui-lightness/images/ui-icons_ffffff_256x240.png +0 -2
- data/vendor/examples/slider/ui-lightness/jquery-ui-1.8rc3.custom.css +0 -302
- data/vendor/examples/tipsy/jquery.tipsy.js +0 -198
- data/vendor/examples/tipsy/tipsy-bar.html +0 -65
- data/vendor/examples/tipsy/tipsy-line.html +0 -67
- data/vendor/examples/tipsy/tipsy.css +0 -12
- data/vendor/examples/tipsy/tipsy.gif +0 -0
- data/vendor/examples/tipsy/tipsy.js +0 -66
- data/vendor/examples/weather/weather.html +0 -86
- data/vendor/examples/weather/weather.js +0 -42
- data/vendor/examples/wheat/wheat.html +0 -130
- data/vendor/examples/wheat/wheat.js +0 -70
- data/vendor/lib/google-compiler/COPYING +0 -202
- data/vendor/lib/google-compiler/README +0 -224
- data/vendor/lib/google-compiler/compiler-20100201.jar +0 -0
- data/vendor/protovis-d3.3.js +0 -15726
- data/vendor/test1.html +0 -30
- data/vendor/tests/behavior/drag-events.html +0 -47
- data/vendor/tests/behavior/drag.html +0 -32
- data/vendor/tests/behavior/drag2.html +0 -33
- data/vendor/tests/behavior/point-area-stacked.html +0 -73
- data/vendor/tests/behavior/point-area-stacked2.html +0 -70
- data/vendor/tests/behavior/point-area.html +0 -67
- data/vendor/tests/behavior/point-bar.html +0 -62
- data/vendor/tests/behavior/point-dot.html +0 -60
- data/vendor/tests/behavior/point-line.html +0 -62
- data/vendor/tests/behavior/point-lines-grid.html +0 -65
- data/vendor/tests/behavior/point-lines.html +0 -61
- data/vendor/tests/behavior/point-wedge.html +0 -43
- data/vendor/tests/behavior/resize.html +0 -69
- data/vendor/tests/behavior/select.html +0 -37
- data/vendor/tests/bzr.js +0 -62
- data/vendor/tests/center.js +0 -13
- data/vendor/tests/data/deviation.html +0 -54
- data/vendor/tests/data/histogram-discrete.html +0 -50
- data/vendor/tests/data/histogram.html +0 -56
- data/vendor/tests/data/log-adjusted.html +0 -48
- data/vendor/tests/data/log-ceil.html +0 -48
- data/vendor/tests/data/log-floor.html +0 -48
- data/vendor/tests/data/log-symmetric.html +0 -48
- data/vendor/tests/data/log.html +0 -48
- data/vendor/tests/data/max-index.html +0 -36
- data/vendor/tests/data/max.html +0 -36
- data/vendor/tests/data/min-index.html +0 -36
- data/vendor/tests/data/min.html +0 -36
- data/vendor/tests/data/ordinal-split-banded.html +0 -45
- data/vendor/tests/data/ordinal-split-banded2.html +0 -45
- data/vendor/tests/data/ordinal-split-flush.html +0 -51
- data/vendor/tests/data/ordinal-split.html +0 -51
- data/vendor/tests/data/range.html +0 -105
- data/vendor/tests/data/scale-date.html +0 -46
- data/vendor/tests/data/scale-date2.html +0 -38
- data/vendor/tests/data/scale-date3.html +0 -38
- data/vendor/tests/data/scale-date4.html +0 -38
- data/vendor/tests/data/scale-degenerate.html +0 -143
- data/vendor/tests/data/scale-linear.html +0 -59
- data/vendor/tests/data/scale-log.html +0 -60
- data/vendor/tests/data/scale-log2.html +0 -60
- data/vendor/tests/data/scale-log3.html +0 -60
- data/vendor/tests/data/scale-log4.html +0 -60
- data/vendor/tests/data/scale-log5.html +0 -60
- data/vendor/tests/data/scale-log6.html +0 -60
- data/vendor/tests/data/scale-quantile.html +0 -47
- data/vendor/tests/data/scale-quantile2.html +0 -50
- data/vendor/tests/data/scale-quantile3.html +0 -48
- data/vendor/tests/data/scale-root.html +0 -60
- data/vendor/tests/data/scale-root2.html +0 -39
- data/vendor/tests/data/scale-tick-format.html +0 -54
- data/vendor/tests/data/scale-ticks.html +0 -45
- data/vendor/tests/data/sum.html +0 -42
- data/vendor/tests/data/variance.html +0 -42
- data/vendor/tests/diamond.js +0 -40
- data/vendor/tests/flare-imports.js +0 -222
- data/vendor/tests/flare.js +0 -284
- data/vendor/tests/geo/countries-hires.js +0 -257
- data/vendor/tests/geo/countries-lores.js +0 -197
- data/vendor/tests/geo/population.js +0 -250
- data/vendor/tests/geo/scale-aitoff.html +0 -58
- data/vendor/tests/geo/scale-gall-peters.html +0 -56
- data/vendor/tests/geo/scale-hammer.html +0 -58
- data/vendor/tests/geo/scale-identity.html +0 -56
- data/vendor/tests/geo/scale-mercator.html +0 -56
- data/vendor/tests/geo/scale-sinusoidal.html +0 -57
- data/vendor/tests/geo/scale-smart-domain.html +0 -58
- data/vendor/tests/geo/scale.html +0 -55
- data/vendor/tests/geo/scale2.html +0 -40
- data/vendor/tests/geo/us-states.js +0 -61
- data/vendor/tests/heatmap.js +0 -63
- data/vendor/tests/lang/globals.html +0 -41
- data/vendor/tests/lang/init.html +0 -31
- data/vendor/tests/layers.js +0 -28
- data/vendor/tests/layout/arc-directed.html +0 -33
- data/vendor/tests/layout/arc-radial.html +0 -36
- data/vendor/tests/layout/arc-undirected.html +0 -32
- data/vendor/tests/layout/arc.html +0 -33
- data/vendor/tests/layout/arc2.html +0 -32
- data/vendor/tests/layout/bullet-multiples.html +0 -60
- data/vendor/tests/layout/bullet.html +0 -45
- data/vendor/tests/layout/bullets.js +0 -37
- data/vendor/tests/layout/cluster-fill-group.html +0 -24
- data/vendor/tests/layout/cluster-fill.html +0 -28
- data/vendor/tests/layout/cluster-partition-radial-fill.html +0 -43
- data/vendor/tests/layout/cluster-radial-fill-radius.html +0 -26
- data/vendor/tests/layout/cluster-radial-fill.html +0 -29
- data/vendor/tests/layout/cluster-radial-group-fill.html +0 -30
- data/vendor/tests/layout/cluster-radial-radius.html +0 -30
- data/vendor/tests/layout/cluster-radial.html +0 -28
- data/vendor/tests/layout/cluster-radial2.html +0 -33
- data/vendor/tests/layout/cluster.html +0 -34
- data/vendor/tests/layout/cluster2.html +0 -32
- data/vendor/tests/layout/force-toggle.html +0 -46
- data/vendor/tests/layout/force.html +0 -45
- data/vendor/tests/layout/force2.html +0 -58
- data/vendor/tests/layout/force3.html +0 -41
- data/vendor/tests/layout/force4.html +0 -45
- data/vendor/tests/layout/force5.html +0 -53
- data/vendor/tests/layout/grid-cols.html +0 -31
- data/vendor/tests/layout/grid-heatmap.html +0 -25
- data/vendor/tests/layout/grid-rows.html +0 -31
- data/vendor/tests/layout/grid.html +0 -34
- data/vendor/tests/layout/horizon-color.html +0 -31
- data/vendor/tests/layout/horizon.html +0 -31
- data/vendor/tests/layout/indent-toggle.html +0 -62
- data/vendor/tests/layout/indent.html +0 -25
- data/vendor/tests/layout/indent2.html +0 -33
- data/vendor/tests/layout/matrix-sort.html +0 -28
- data/vendor/tests/layout/matrix.html +0 -35
- data/vendor/tests/layout/network.html +0 -43
- data/vendor/tests/layout/pack-bubble.html +0 -45
- data/vendor/tests/layout/pack.html +0 -26
- data/vendor/tests/layout/pack2.html +0 -32
- data/vendor/tests/layout/partition-fill.html +0 -27
- data/vendor/tests/layout/partition-fill2.html +0 -22
- data/vendor/tests/layout/partition-fill3.html +0 -27
- data/vendor/tests/layout/partition-radial-fill-radius.html +0 -25
- data/vendor/tests/layout/partition-radial-fill.html +0 -26
- data/vendor/tests/layout/partition-radial-fill2.html +0 -23
- data/vendor/tests/layout/partition-radial-fill3.html +0 -29
- data/vendor/tests/layout/partition-radial-radius.html +0 -29
- data/vendor/tests/layout/partition-radial.html +0 -30
- data/vendor/tests/layout/partition-radial2.html +0 -33
- data/vendor/tests/layout/partition.html +0 -33
- data/vendor/tests/layout/partition2.html +0 -32
- data/vendor/tests/layout/rollup.html +0 -50
- data/vendor/tests/layout/stack-empty.html +0 -27
- data/vendor/tests/layout/stack-expand.html +0 -41
- data/vendor/tests/layout/stack-reverse.html +0 -42
- data/vendor/tests/layout/stack-right.html +0 -42
- data/vendor/tests/layout/stack-rule.html +0 -61
- data/vendor/tests/layout/stack-visible.html +0 -43
- data/vendor/tests/layout/stack.html +0 -53
- data/vendor/tests/layout/tree-radial.html +0 -31
- data/vendor/tests/layout/tree-radial2.html +0 -34
- data/vendor/tests/layout/tree-toggle.html +0 -36
- data/vendor/tests/layout/tree.html +0 -31
- data/vendor/tests/layout/tree2.html +0 -35
- data/vendor/tests/layout/treemap-hierarchy.html +0 -40
- data/vendor/tests/layout/treemap-margin.html +0 -26
- data/vendor/tests/layout/treemap-round.html +0 -40
- data/vendor/tests/layout/treemap-slice.html +0 -34
- data/vendor/tests/layout/treemap.html +0 -37
- data/vendor/tests/life.js +0 -212
- data/vendor/tests/mark/anchor.html +0 -25
- data/vendor/tests/mark/area-anchor-chain.html +0 -42
- data/vendor/tests/mark/area-anchor-line.html +0 -57
- data/vendor/tests/mark/area-anchor-stack.html +0 -35
- data/vendor/tests/mark/area-anchor.html +0 -43
- data/vendor/tests/mark/area-anchor2.html +0 -33
- data/vendor/tests/mark/area-cardinal.html +0 -57
- data/vendor/tests/mark/area-monotone.html +0 -57
- data/vendor/tests/mark/area-segmented-basis.html +0 -30
- data/vendor/tests/mark/area-segmented-cardinal.html +0 -30
- data/vendor/tests/mark/area-segmented-monotone.html +0 -30
- data/vendor/tests/mark/area-segmented-step.html +0 -44
- data/vendor/tests/mark/area-segmented.html +0 -29
- data/vendor/tests/mark/area-stacked-cardinal.html +0 -54
- data/vendor/tests/mark/area-stacked-monotone.html +0 -54
- data/vendor/tests/mark/area-stacked.html +0 -53
- data/vendor/tests/mark/area-step.html +0 -43
- data/vendor/tests/mark/area-zero.html +0 -32
- data/vendor/tests/mark/area.html +0 -57
- data/vendor/tests/mark/bar-anchor-stack.html +0 -51
- data/vendor/tests/mark/bar-anchor.html +0 -44
- data/vendor/tests/mark/bar-column-grouped.html +0 -63
- data/vendor/tests/mark/bar-column-stacked.html +0 -56
- data/vendor/tests/mark/bar-column.html +0 -54
- data/vendor/tests/mark/bar-grouped.html +0 -63
- data/vendor/tests/mark/bar-stacked.html +0 -57
- data/vendor/tests/mark/bar.html +0 -54
- data/vendor/tests/mark/cursor.html +0 -41
- data/vendor/tests/mark/def-type.html +0 -23
- data/vendor/tests/mark/dot-anchor.html +0 -33
- data/vendor/tests/mark/dot-radius.html +0 -22
- data/vendor/tests/mark/dot-stroke.html +0 -43
- data/vendor/tests/mark/dot.html +0 -52
- data/vendor/tests/mark/dot2.html +0 -61
- data/vendor/tests/mark/ease.html +0 -90
- data/vendor/tests/mark/event-dblclick.html +0 -30
- data/vendor/tests/mark/event-prototype.html +0 -45
- data/vendor/tests/mark/event-render.html +0 -45
- data/vendor/tests/mark/event.html +0 -24
- data/vendor/tests/mark/image-color-inherit.html +0 -33
- data/vendor/tests/mark/image-color.html +0 -35
- data/vendor/tests/mark/image-color2.html +0 -35
- data/vendor/tests/mark/image-heatmap.html +0 -29
- data/vendor/tests/mark/image.html +0 -32
- data/vendor/tests/mark/label-break.html +0 -54
- data/vendor/tests/mark/label-decoration.html +0 -22
- data/vendor/tests/mark/label-events.html +0 -32
- data/vendor/tests/mark/line-anchor.html +0 -42
- data/vendor/tests/mark/line-basis.html +0 -54
- data/vendor/tests/mark/line-brownian.html +0 -57
- data/vendor/tests/mark/line-cardinal.html +0 -77
- data/vendor/tests/mark/line-catmull-rom.html +0 -78
- data/vendor/tests/mark/line-curve.html +0 -65
- data/vendor/tests/mark/line-eccentricity.html +0 -39
- data/vendor/tests/mark/line-fill.html +0 -24
- data/vendor/tests/mark/line-join.html +0 -51
- data/vendor/tests/mark/line-monotone-non-monotone.html +0 -53
- data/vendor/tests/mark/line-monotone-two-way.html +0 -61
- data/vendor/tests/mark/line-monotone.html +0 -53
- data/vendor/tests/mark/line-polar.html +0 -36
- data/vendor/tests/mark/line-segmented-basis.html +0 -57
- data/vendor/tests/mark/line-segmented-cardinal.html +0 -80
- data/vendor/tests/mark/line-segmented-join.html +0 -52
- data/vendor/tests/mark/line-segmented-monotone.html +0 -56
- data/vendor/tests/mark/line-segmented-polar.html +0 -30
- data/vendor/tests/mark/line-segmented-step.html +0 -41
- data/vendor/tests/mark/line-segmented-step2.html +0 -32
- data/vendor/tests/mark/line-segmented.html +0 -30
- data/vendor/tests/mark/line-step.html +0 -39
- data/vendor/tests/mark/line-tension.html +0 -59
- data/vendor/tests/mark/line.html +0 -51
- data/vendor/tests/mark/panel-anchor.html +0 -37
- data/vendor/tests/mark/panel-anchor2.html +0 -31
- data/vendor/tests/mark/panel-anchor3.html +0 -22
- data/vendor/tests/mark/panel-anchor4.html +0 -28
- data/vendor/tests/mark/panel-anchor5.html +0 -28
- data/vendor/tests/mark/panel-append.html +0 -29
- data/vendor/tests/mark/panel-canvas.html +0 -107
- data/vendor/tests/mark/panel-fill.html +0 -50
- data/vendor/tests/mark/panel-mouse.html +0 -53
- data/vendor/tests/mark/panel-transform.html +0 -67
- data/vendor/tests/mark/property-cast.html +0 -24
- data/vendor/tests/mark/render-partial.html +0 -42
- data/vendor/tests/mark/rule-anchor.html +0 -29
- data/vendor/tests/mark/title.html +0 -41
- data/vendor/tests/mark/transition-anchor.html +0 -47
- data/vendor/tests/mark/transition-wedge.html +0 -47
- data/vendor/tests/mark/transition.html +0 -106
- data/vendor/tests/mark/wedge-donut.html +0 -35
- data/vendor/tests/mark/wedge-implied.html +0 -42
- data/vendor/tests/mark/wedge-pie.html +0 -37
- data/vendor/tests/mark/wedge-ring.html +0 -27
- data/vendor/tests/miserables.js +0 -348
- data/vendor/tests/physics/dorling.html +0 -70
- data/vendor/tests/physics/simulation.html +0 -56
- data/vendor/tests/social.js +0 -28
- data/vendor/tests/stanford.png +0 -0
- data/vendor/tests/style.css +0 -5
- data/vendor/tests/testify.css +0 -29
- data/vendor/tests/testify.js +0 -16
- data/vendor/tests/text/format-number.html +0 -75
metadata.gz.sig
ADDED
data/examples/crimea-line.rb
DELETED
@@ -1,64 +0,0 @@
|
|
1
|
-
$:.unshift(File.dirname(__FILE__)+"/../lib")
|
2
|
-
require 'rubyvis'
|
3
|
-
causes = ["wounds", "other", "disease"];
|
4
|
-
|
5
|
-
crimea = [
|
6
|
-
{ date: "4/1854", wounds: 0, other: 110, disease: 110 },
|
7
|
-
{ date: "5/1854", wounds: 0, other: 95, disease: 105 },
|
8
|
-
{ date: "6/1854", wounds: 0, other: 40, disease: 95 },
|
9
|
-
{ date: "7/1854", wounds: 0, other: 140, disease: 520 },
|
10
|
-
{ date: "8/1854", wounds: 20, other: 150, disease: 800 },
|
11
|
-
{ date: "9/1854", wounds: 220, other: 230, disease: 740 },
|
12
|
-
{ date: "10/1854", wounds: 305, other: 310, disease: 600 },
|
13
|
-
{ date: "11/1854", wounds: 480, other: 290, disease: 820 },
|
14
|
-
{ date: "12/1854", wounds: 295, other: 310, disease: 1100 },
|
15
|
-
{ date: "1/1855", wounds: 230, other: 460, disease: 1440 },
|
16
|
-
{ date: "2/1855", wounds: 180, other: 520, disease: 1270 },
|
17
|
-
{ date: "3/1855", wounds: 155, other: 350, disease: 935 },
|
18
|
-
{ date: "4/1855", wounds: 195, other: 195, disease: 560 },
|
19
|
-
{ date: "5/1855", wounds: 180, other: 155, disease: 550 },
|
20
|
-
{ date: "6/1855", wounds: 330, other: 130, disease: 650 },
|
21
|
-
{ date: "7/1855", wounds: 260, other: 130, disease: 430 },
|
22
|
-
{ date: "8/1855", wounds: 290, other: 110, disease: 490 },
|
23
|
-
{ date: "9/1855", wounds: 355, other: 100, disease: 290 },
|
24
|
-
{ date: "10/1855", wounds: 135, other: 95, disease: 245 },
|
25
|
-
{ date: "11/1855", wounds: 100, other: 140, disease: 325 },
|
26
|
-
{ date: "12/1855", wounds: 40, other: 120, disease: 215 },
|
27
|
-
{ date: "1/1856", wounds: 0, other: 160, disease: 160 },
|
28
|
-
{ date: "2/1856", wounds: 0, other: 100, disease: 100 },
|
29
|
-
{ date: "3/1856", wounds: 0, other: 125, disease: 90 }
|
30
|
-
];
|
31
|
-
format = pv.Format.date("%m/%y");
|
32
|
-
crimea=crimea.map {|d| d[:date] = format.parse(d[:date]); d}
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
w = 545
|
38
|
-
h = 280
|
39
|
-
x = pv.Scale.linear(crimea, lambda {|d| d[:date]}).range(0, w)
|
40
|
-
y = pv.Scale.linear(0, 1500).range(0, h)
|
41
|
-
|
42
|
-
fill = pv.colors("lightpink", "darkgray", "lightblue")
|
43
|
-
format = pv.Format.date("%b")
|
44
|
-
|
45
|
-
vis = pv.Panel.new()
|
46
|
-
.width(w)
|
47
|
-
.height(h)
|
48
|
-
.margin(19.5)
|
49
|
-
.right(40);
|
50
|
-
|
51
|
-
vis.add(pv.Panel)
|
52
|
-
.data(causes)
|
53
|
-
.add(pv.Line)
|
54
|
-
.data(crimea)
|
55
|
-
.left(lambda {|d| x.scale(d.date)})
|
56
|
-
.bottom(lambda {|d,t| y.scale(d[t])})
|
57
|
-
.strokeStyle(fill.by(pv.parent))
|
58
|
-
.lineWidth(3);
|
59
|
-
|
60
|
-
vis.add(pv.Label).data(x.ticks()).left(x).bottom(0).text_baseline("top").text_margin(5).text(pv.Format.date("%b"));
|
61
|
-
|
62
|
-
vis.add(pv.Rule).data(y.ticks()).bottom(y).stroke_style(lambda {|i| i ? "#ccc" : "black"}).anchor("right").add(pv.Label).visible(lambda {!(self.index & 1)}).textMargin(6);
|
63
|
-
|
64
|
-
vis.render()
|
data/vendor/FUTURE
DELETED
@@ -1,62 +0,0 @@
|
|
1
|
-
*
|
2
|
-
- use === and !== instead of == and !=
|
3
|
-
- force type conversion of input arguments in public API?
|
4
|
-
- use array push rather than string concatentation to improve performance?
|
5
|
-
- use Object.create instead of pv.extend, if available
|
6
|
-
|
7
|
-
data/?
|
8
|
-
- AJAX helper? or refer to jQuery
|
9
|
-
|
10
|
-
data/Scale.js
|
11
|
-
- allow customization of data ticks (e.g., "3 months", "5 minutes")
|
12
|
-
- greedily convert range to the expected type (for colors?)
|
13
|
-
- ignore undefined values when computing min/max for domains
|
14
|
-
|
15
|
-
mark/Mark.js
|
16
|
-
- event handlers should be inherited?
|
17
|
-
- antialias doesn't always work as expected; requires pixel rounding?
|
18
|
-
- allow mixin rather than single inheritance?
|
19
|
-
- linear and radial gradient fills
|
20
|
-
- pattern fills
|
21
|
-
- drop shadows, blurring, other graphical effects?
|
22
|
-
- animation
|
23
|
-
- faster incremental rendering (detect properties)
|
24
|
-
- remove first, last, cousin, sibling methods?
|
25
|
-
- dot-dash strokes using stroke-dasharray
|
26
|
-
|
27
|
-
mark/Bar.js
|
28
|
-
- rounded corners
|
29
|
-
|
30
|
-
mark/Line.js
|
31
|
-
- support fillStyle on segmented lines
|
32
|
-
- spline interpolation
|
33
|
-
- arrows (markers)?
|
34
|
-
|
35
|
-
mark/Label.js
|
36
|
-
- text metrics API for smart label placement
|
37
|
-
|
38
|
-
mark/Area.js
|
39
|
-
- spline interpolation
|
40
|
-
|
41
|
-
mark/Area.Radial.js
|
42
|
-
mark/Line.Radial.js
|
43
|
-
mark/Bar.Radial.js
|
44
|
-
|
45
|
-
mark/Image.js
|
46
|
-
- scale / tile / center / fill / preserveAspectRatio
|
47
|
-
|
48
|
-
physics/LinkConstraint.js
|
49
|
-
- should support an alpha parameter, like pv.Constraint.position
|
50
|
-
|
51
|
-
layout/Tree.js
|
52
|
-
- allow depth and breadth offset to be computed automatically
|
53
|
-
|
54
|
-
layout/Force.js
|
55
|
-
- smarter default rest length / charge force constant
|
56
|
-
|
57
|
-
behavior/Pan.js
|
58
|
-
- custom bounds
|
59
|
-
- lock one axis
|
60
|
-
|
61
|
-
behavior/Point.js
|
62
|
-
- compute true distance from mouse to perimeter (e.g., wedge)
|
data/vendor/Makefile
DELETED
@@ -1,138 +0,0 @@
|
|
1
|
-
JS_LANG_FILES = \
|
2
|
-
src/lang/Array.js
|
3
|
-
|
4
|
-
JS_CORE_FILES = \
|
5
|
-
src/pv.js \
|
6
|
-
src/pv-internals.js \
|
7
|
-
src/lang/init.js \
|
8
|
-
src/text/Format.js \
|
9
|
-
src/text/DateFormat.js \
|
10
|
-
src/text/TimeFormat.js \
|
11
|
-
src/text/NumberFormat.js \
|
12
|
-
src/data/Arrays.js \
|
13
|
-
src/data/Numbers.js \
|
14
|
-
src/data/Objects.js \
|
15
|
-
src/data/Dom.js \
|
16
|
-
src/data/Tree.js \
|
17
|
-
src/data/Nest.js \
|
18
|
-
src/data/Flatten.js \
|
19
|
-
src/data/Vector.js \
|
20
|
-
src/data/Transform.js \
|
21
|
-
src/data/Scale.js \
|
22
|
-
src/data/QuantitativeScale.js \
|
23
|
-
src/data/LinearScale.js \
|
24
|
-
src/data/LogScale.js \
|
25
|
-
src/data/RootScale.js \
|
26
|
-
src/data/OrdinalScale.js \
|
27
|
-
src/data/QuantileScale.js \
|
28
|
-
src/data/Histogram.js \
|
29
|
-
src/color/Color.js \
|
30
|
-
src/color/Colors.js \
|
31
|
-
src/color/Ramp.js \
|
32
|
-
src/scene/SvgScene.js \
|
33
|
-
src/scene/SvgCurve.js \
|
34
|
-
src/scene/SvgArea.js \
|
35
|
-
src/scene/SvgBar.js \
|
36
|
-
src/scene/SvgDot.js \
|
37
|
-
src/scene/SvgImage.js \
|
38
|
-
src/scene/SvgLabel.js \
|
39
|
-
src/scene/SvgLine.js \
|
40
|
-
src/scene/SvgPanel.js \
|
41
|
-
src/scene/SvgRule.js \
|
42
|
-
src/scene/SvgWedge.js \
|
43
|
-
src/mark/Mark.js \
|
44
|
-
src/mark/Anchor.js \
|
45
|
-
src/mark/Area.js \
|
46
|
-
src/mark/Bar.js \
|
47
|
-
src/mark/Dot.js \
|
48
|
-
src/mark/Label.js \
|
49
|
-
src/mark/Line.js \
|
50
|
-
src/mark/Rule.js \
|
51
|
-
src/mark/Panel.js \
|
52
|
-
src/mark/Image.js \
|
53
|
-
src/mark/Wedge.js \
|
54
|
-
src/mark/Ease.js \
|
55
|
-
src/mark/Transition.js \
|
56
|
-
src/mark/Transient.js
|
57
|
-
|
58
|
-
JS_LAYOUT_FILES = \
|
59
|
-
src/physics/Particle.js \
|
60
|
-
src/physics/Simulation.js \
|
61
|
-
src/physics/Quadtree.js \
|
62
|
-
src/physics/Force.js \
|
63
|
-
src/physics/ChargeForce.js \
|
64
|
-
src/physics/DragForce.js \
|
65
|
-
src/physics/SpringForce.js \
|
66
|
-
src/physics/Constraint.js \
|
67
|
-
src/physics/CollisionConstraint.js \
|
68
|
-
src/physics/PositionConstraint.js \
|
69
|
-
src/physics/BoundConstraint.js \
|
70
|
-
src/layout/Layout.js \
|
71
|
-
src/layout/Network.js \
|
72
|
-
src/layout/Hierarchy.js \
|
73
|
-
src/layout/Grid.js \
|
74
|
-
src/layout/Stack.js \
|
75
|
-
src/layout/Treemap.js \
|
76
|
-
src/layout/Tree.js \
|
77
|
-
src/layout/Indent.js \
|
78
|
-
src/layout/Pack.js \
|
79
|
-
src/layout/Force.js \
|
80
|
-
src/layout/Cluster.js \
|
81
|
-
src/layout/Partition.js \
|
82
|
-
src/layout/Arc.js \
|
83
|
-
src/layout/Horizon.js \
|
84
|
-
src/layout/Rollup.js \
|
85
|
-
src/layout/Matrix.js \
|
86
|
-
src/layout/Bullet.js \
|
87
|
-
src/behavior/Behavior.js \
|
88
|
-
src/behavior/Drag.js \
|
89
|
-
src/behavior/Point.js \
|
90
|
-
src/behavior/Select.js \
|
91
|
-
src/behavior/Resize.js \
|
92
|
-
src/behavior/Pan.js \
|
93
|
-
src/behavior/Zoom.js
|
94
|
-
|
95
|
-
JS_GEO_FILES = \
|
96
|
-
src/geo/Geo.js \
|
97
|
-
src/geo/LatLng.js \
|
98
|
-
src/geo/Projection.js \
|
99
|
-
src/geo/Projections.js \
|
100
|
-
src/geo/GeoScale.js
|
101
|
-
|
102
|
-
JS_FILES = \
|
103
|
-
$(JS_LANG_FILES) \
|
104
|
-
$(JS_CORE_FILES) \
|
105
|
-
$(JS_LAYOUT_FILES) \
|
106
|
-
$(JS_GEO_FILES)
|
107
|
-
|
108
|
-
JS_COMPILER = \
|
109
|
-
java -jar lib/google-compiler/compiler-20100201.jar \
|
110
|
-
--charset UTF-8 \
|
111
|
-
--warning_level=QUIET
|
112
|
-
|
113
|
-
JSDOC_HOME = /Library/jsdoc-toolkit
|
114
|
-
JSDOC = java -jar $(JSDOC_HOME)/jsrun.jar $(JSDOC_HOME)/app/run.js
|
115
|
-
|
116
|
-
all: protovis-d3.3.js protovis-r3.3.js
|
117
|
-
protovis-d3.3.js: $(JS_FILES)
|
118
|
-
protovis-r3.3.js: $(JS_FILES)
|
119
|
-
|
120
|
-
%-d3.3.js: Makefile
|
121
|
-
grep ' ' -Hn $(filter %.js,$^) && echo "ERROR: tab" && exit 1 || true
|
122
|
-
grep '
|
123
|
-
grep ' $$' -Hn $(filter %.js,$^) && echo "ERROR: trailing space" && exit 1 || true
|
124
|
-
rm -f $@
|
125
|
-
echo "// $(shell git rev-parse HEAD)" >> $@
|
126
|
-
cat $(filter %.js,$^) >> $@
|
127
|
-
|
128
|
-
%-r3.3.js:: Makefile
|
129
|
-
rm -f $@
|
130
|
-
echo "// $(shell git rev-parse --short HEAD)" >> $@
|
131
|
-
cat $(filter %.js,$^) | $(JS_COMPILER) >> $@
|
132
|
-
|
133
|
-
jsdoc: $(JS_FILES) Makefile
|
134
|
-
rm -rf jsdoc
|
135
|
-
$(JSDOC) -a -t=$(JSDOC_HOME)/templates/jsdoc -d=$@ -E="^pv-" $(JS_FILES)
|
136
|
-
|
137
|
-
clean:
|
138
|
-
rm -rf protovis-d3.3.js protovis-r3.3.js jsdoc
|
data/vendor/TODO
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
layout/Layout.js
|
2
|
-
- standardize which attributes are populated
|
3
|
-
- add support for sort() functions as appropriate (e.g., arc)
|
4
|
-
|
5
|
-
mark/Mark.js
|
6
|
-
- partial redraw for newly-added marks
|
7
|
-
|
8
|
-
mark/Panel.js
|
9
|
-
- remove()
|
10
|
-
- query the visible region (avoid transform invert in panel-transform.html)?
|
11
|
-
|
12
|
-
mark/Anchor.js
|
13
|
-
- {min,max}:name "singleton" anchors for center labeling on area and line?
|
14
|
-
|
15
|
-
geo/GeoScale.js
|
16
|
-
- determine center point of projection from domain
|
17
|
-
- standardize on GeoJSON representation
|
18
|
-
- include shapefile -> GeoJSON convertors or link to them
|
19
|
-
|
20
|
-
*
|
21
|
-
- documentation
|
22
|
-
- port examples
|
@@ -1,113 +0,0 @@
|
|
1
|
-
<html>
|
2
|
-
<head>
|
3
|
-
<title>Antibiotic Effectiveness</title>
|
4
|
-
<link type="text/css" href="../ex.css" rel="stylesheet"/>
|
5
|
-
<script type="text/javascript" src="../../protovis-r3.3.js"></script>
|
6
|
-
<script type="text/javascript" src="antibiotics.js"></script>
|
7
|
-
<style type="text/css">
|
8
|
-
|
9
|
-
#fig {
|
10
|
-
height: 638px;
|
11
|
-
width: 608px;
|
12
|
-
}
|
13
|
-
|
14
|
-
</style>
|
15
|
-
</head>
|
16
|
-
<body><div id="center"><div id="fig">
|
17
|
-
<script type="text/javascript+protovis">
|
18
|
-
|
19
|
-
var s = 180,
|
20
|
-
p = 20,
|
21
|
-
z = pv.Scale.log(0.001, 1000).range(0, s),
|
22
|
-
color = pv.colors("darkred", "darkblue").by(function(d) d.gram),
|
23
|
-
ticks = pv.range(-2, 3).map(function(e) Math.pow(10, e));
|
24
|
-
|
25
|
-
/* Root panel. */
|
26
|
-
var vis = new pv.Panel()
|
27
|
-
.height(s * antibiotics.length + p * (antibiotics.length - 1))
|
28
|
-
.width(function() this.height())
|
29
|
-
.top(14.5)
|
30
|
-
.left(14.5)
|
31
|
-
.bottom(44)
|
32
|
-
.right(14);
|
33
|
-
|
34
|
-
/* Cell for each antibiotic pair. */
|
35
|
-
var cell = vis.add(pv.Panel)
|
36
|
-
.data(antibiotics)
|
37
|
-
.width(s)
|
38
|
-
.left(function() (s + p) * this.index)
|
39
|
-
.add(pv.Panel)
|
40
|
-
.data(antibiotics)
|
41
|
-
.height(s)
|
42
|
-
.top(function() (s + p) * this.index);
|
43
|
-
|
44
|
-
/* Label. */
|
45
|
-
cell.anchor("center").add(pv.Label)
|
46
|
-
.visible(function(d, y, x) x == y)
|
47
|
-
.font("bold 14px sans-serif")
|
48
|
-
.text(function(d, y, x) x);
|
49
|
-
|
50
|
-
/* Dot plot and frame. */
|
51
|
-
var plot = cell.add(pv.Panel)
|
52
|
-
.data(function(y, x) [x])
|
53
|
-
.visible(function(x, y) x != y)
|
54
|
-
.strokeStyle("#aaa");
|
55
|
-
|
56
|
-
/* Ticks. */
|
57
|
-
var tick = new pv.Rule()
|
58
|
-
.visible(function(d, x, y) x != y)
|
59
|
-
.data(ticks)
|
60
|
-
.strokeStyle("#ddd");
|
61
|
-
|
62
|
-
/* X-axis ticks. */
|
63
|
-
var xtick = plot.add(pv.Rule)
|
64
|
-
.extend(tick)
|
65
|
-
.left(z);
|
66
|
-
|
67
|
-
/* Bottom and top labels. */
|
68
|
-
xtick.anchor("bottom").add(pv.Label)
|
69
|
-
.visible(function() cell.index == antibiotics.length - 1);
|
70
|
-
xtick.anchor("top").add(pv.Label)
|
71
|
-
.visible(function() cell.index == 0);
|
72
|
-
|
73
|
-
/* Y-axis ticks. */
|
74
|
-
var ytick = plot.add(pv.Rule)
|
75
|
-
.extend(tick)
|
76
|
-
.bottom(z);
|
77
|
-
|
78
|
-
/* Bottom and top labels. */
|
79
|
-
ytick.anchor("right").add(pv.Label)
|
80
|
-
.visible(function() cell.parent.index == antibiotics.length - 1)
|
81
|
-
.textAngle(Math.PI / 2)
|
82
|
-
.textBaseline("bottom")
|
83
|
-
.textAlign("center");
|
84
|
-
ytick.anchor("left").add(pv.Label)
|
85
|
-
.visible(function() cell.parent.index == 0)
|
86
|
-
.textAngle(-Math.PI / 2)
|
87
|
-
.textBaseline("bottom")
|
88
|
-
.textAlign("center");
|
89
|
-
|
90
|
-
/* Dot plot. */
|
91
|
-
var dot = plot.add(pv.Dot)
|
92
|
-
.data(bacteria)
|
93
|
-
.strokeStyle(color)
|
94
|
-
.fillStyle(function() this.strokeStyle().alpha(.2))
|
95
|
-
.left(function(d, x, y) z(d[x]))
|
96
|
-
.bottom(function(d, x, y) z(d[y]))
|
97
|
-
.title(function(d) d.name);
|
98
|
-
|
99
|
-
/* Legend. */
|
100
|
-
vis.add(pv.Dot)
|
101
|
-
.extend(dot)
|
102
|
-
.data([{gram:"positive"}, {gram:"negative"}])
|
103
|
-
.bottom(-30)
|
104
|
-
.left(function() this.index * 100)
|
105
|
-
.title(null)
|
106
|
-
.anchor("right").add(pv.Label)
|
107
|
-
.text(function(d) "Gram-" + d.gram);
|
108
|
-
|
109
|
-
vis.render();
|
110
|
-
|
111
|
-
</script>
|
112
|
-
</div></div></body>
|
113
|
-
</html>
|
@@ -1,140 +0,0 @@
|
|
1
|
-
<html>
|
2
|
-
<head>
|
3
|
-
<title>Antibiotic Effectiveness</title>
|
4
|
-
<link type="text/css" href="../ex.css" rel="stylesheet"/>
|
5
|
-
<script type="text/javascript" src="../../protovis-r3.3.js"></script>
|
6
|
-
<script type="text/javascript" src="antibiotics.js"></script>
|
7
|
-
<style type="text/css">
|
8
|
-
|
9
|
-
body {
|
10
|
-
background: rgb(240, 225, 210);
|
11
|
-
}
|
12
|
-
|
13
|
-
#fig {
|
14
|
-
height: 800px;
|
15
|
-
width: 700px;
|
16
|
-
}
|
17
|
-
|
18
|
-
</style>
|
19
|
-
</head>
|
20
|
-
<body><div id="center"><div id="fig">
|
21
|
-
<script type="text/javascript+protovis">
|
22
|
-
|
23
|
-
/* Basic dimensions. */
|
24
|
-
var width = 700,
|
25
|
-
height = 700,
|
26
|
-
innerRadius = 90,
|
27
|
-
outerRadius = 300 - 10;
|
28
|
-
|
29
|
-
/* Colors. */
|
30
|
-
var drugColor = {
|
31
|
-
Penicillin: "rgb(10, 50, 100)",
|
32
|
-
Streptomycin: "rgb(200, 70, 50)",
|
33
|
-
Neomycin: "black"
|
34
|
-
}, gramColor = {
|
35
|
-
positive: "rgba(174, 174, 184, .8)",
|
36
|
-
negative: "rgba(230, 130, 110, .8)"
|
37
|
-
};
|
38
|
-
|
39
|
-
/* Burtin's radius encoding is, as far as I can tell, sqrt(log(mic)). */
|
40
|
-
var min = Math.sqrt(Math.log(.001 * 1E4)),
|
41
|
-
max = Math.sqrt(Math.log(1000 * 1E4)),
|
42
|
-
a = (outerRadius - innerRadius) / (min - max),
|
43
|
-
b = innerRadius - a * max,
|
44
|
-
radius = function(mic) a * Math.sqrt(Math.log(mic * 1E4)) + b;
|
45
|
-
|
46
|
-
/*
|
47
|
-
* The pie is split into equal sections for each bacteria, with a blank
|
48
|
-
* section at the top for the grid labels. Each wedge is further
|
49
|
-
* subdivided to make room for the three antibiotics, equispaced.
|
50
|
-
*/
|
51
|
-
var bigAngle = 2.0 * Math.PI / (bacteria.length + 1),
|
52
|
-
smallAngle = bigAngle / 7;
|
53
|
-
|
54
|
-
/* The root panel. */
|
55
|
-
var vis = new pv.Panel()
|
56
|
-
.width(width)
|
57
|
-
.height(height)
|
58
|
-
.bottom(100);
|
59
|
-
|
60
|
-
/* Background wedges to indicate gram staining color. */
|
61
|
-
var bg = vis.add(pv.Wedge)
|
62
|
-
.data(bacteria) // assumes Burtin's order
|
63
|
-
.left(width / 2)
|
64
|
-
.top(height / 2)
|
65
|
-
.innerRadius(innerRadius)
|
66
|
-
.outerRadius(outerRadius)
|
67
|
-
.angle(bigAngle)
|
68
|
-
.startAngle(function(d) this.index * bigAngle + bigAngle / 2 - Math.PI / 2)
|
69
|
-
.fillStyle(function(d) gramColor[d.gram]);
|
70
|
-
|
71
|
-
/* Antibiotics. */
|
72
|
-
bg.add(pv.Wedge)
|
73
|
-
.angle(smallAngle)
|
74
|
-
.startAngle(function(d) bg.startAngle() + smallAngle)
|
75
|
-
.outerRadius(function(d) radius(d.penicillin))
|
76
|
-
.fillStyle(drugColor.Penicillin)
|
77
|
-
.add(pv.Wedge)
|
78
|
-
.startAngle(function(d) this.proto.startAngle() + 2 * smallAngle)
|
79
|
-
.outerRadius(function(d) radius(d.streptomycin))
|
80
|
-
.fillStyle(drugColor.Streptomycin)
|
81
|
-
.add(pv.Wedge)
|
82
|
-
.outerRadius(function(d) radius(d.neomycin))
|
83
|
-
.fillStyle(drugColor.Neomycin);
|
84
|
-
|
85
|
-
/* Circular grid lines. */
|
86
|
-
bg.add(pv.Dot)
|
87
|
-
.data(pv.range(-3, 4))
|
88
|
-
.fillStyle(null)
|
89
|
-
.strokeStyle("#eee")
|
90
|
-
.lineWidth(1)
|
91
|
-
.shapeSize(function(i) Math.pow(radius(Math.pow(10, i)), 2))
|
92
|
-
.anchor("top").add(pv.Label)
|
93
|
-
.visible(function(i) i < 3)
|
94
|
-
.textBaseline("middle")
|
95
|
-
.text(function(i) Math.pow(10, i).toFixed((i > 0) ? 0 : -i));
|
96
|
-
|
97
|
-
/* Radial grid lines. */
|
98
|
-
bg.add(pv.Wedge)
|
99
|
-
.data(pv.range(bacteria.length + 1))
|
100
|
-
.innerRadius(innerRadius - 10)
|
101
|
-
.outerRadius(outerRadius + 10)
|
102
|
-
.fillStyle(null)
|
103
|
-
.strokeStyle("black")
|
104
|
-
.angle(0);
|
105
|
-
|
106
|
-
/* Labels. */
|
107
|
-
bg.anchor("outer").add(pv.Label)
|
108
|
-
.textAlign("center")
|
109
|
-
.text(function(d) d.bacteria);
|
110
|
-
|
111
|
-
/* Antibiotic legend. */
|
112
|
-
vis.add(pv.Bar)
|
113
|
-
.data(pv.keys(drugColor))
|
114
|
-
.right(width / 2 + 3)
|
115
|
-
.top(function() height / 2 - 28 + this.index * 18)
|
116
|
-
.fillStyle(function(d) drugColor[d])
|
117
|
-
.width(36)
|
118
|
-
.height(12)
|
119
|
-
.anchor("right").add(pv.Label)
|
120
|
-
.textMargin(6)
|
121
|
-
.textAlign("left");
|
122
|
-
|
123
|
-
/* Gram-stain legend. */
|
124
|
-
vis.add(pv.Dot)
|
125
|
-
.data(pv.keys(gramColor))
|
126
|
-
.left(width / 2 - 20)
|
127
|
-
.bottom(function() -60 + this.index * 18)
|
128
|
-
.fillStyle(function(d) gramColor[d])
|
129
|
-
.strokeStyle(null)
|
130
|
-
.shapeSize(30)
|
131
|
-
.anchor("right").add(pv.Label)
|
132
|
-
.textMargin(6)
|
133
|
-
.textAlign("left")
|
134
|
-
.text(function(d) "Gram-" + d);
|
135
|
-
|
136
|
-
vis.render();
|
137
|
-
|
138
|
-
</script>
|
139
|
-
</center></body>
|
140
|
-
</html>
|