dot.html 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <html>
  2. <head>
  3. <title>Scatterplot</title>
  4. <script type="text/javascript" src="../protovis-d3.1.js"></script>
  5. </head>
  6. <body>
  7. <script type="text/javascript+protovis">
  8. var data = pv.range(100).map(Math.random),
  9. w = 400,
  10. h = 400,
  11. x = pv.Scale.linear(0, 99).range(0, w),
  12. y = pv.Scale.linear(0, 1).range(0, h),
  13. c = pv.Scale.linear(0, 1).range("orange", "brown");
  14. var vis = new pv.Panel()
  15. .width(w)
  16. .height(h)
  17. .bottom(20)
  18. .left(20)
  19. .right(10)
  20. .top(5)
  21. .strokeStyle("#ccc");
  22. vis.add(pv.Rule)
  23. .data(y.ticks())
  24. .bottom(function(d) Math.round(y(d)) - .5)
  25. .strokeStyle("#eee")
  26. .anchor("left").add(pv.Label)
  27. .text(function(d) d.toFixed(1));
  28. vis.add(pv.Rule)
  29. .data(x.ticks())
  30. .visible(function(d) d > 0)
  31. .left(function(d) Math.round(x(d)) - .5)
  32. .strokeStyle("#eee")
  33. .anchor("bottom").add(pv.Label)
  34. .text(function(d) d.toFixed());
  35. vis.add(pv.Dot)
  36. .data(data)
  37. .left(function() x(this.index))
  38. .bottom(y)
  39. .strokeStyle(c)
  40. .fillStyle(function() this.strokeStyle().alpha(.2));
  41. vis.render();
  42. </script>
  43. </body>
  44. </html>