zoom.html 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <html>
  2. <head>
  3. <link rel="stylesheet" type="text/css" href="/css/c3.css">
  4. </head>
  5. <body>
  6. <div id="chart1"></div>
  7. <button onclick="load()">Load</button>
  8. <div id="chart2"></div>
  9. <script src="http://d3js.org/d3.v4.min.js" charset="utf-8"></script>
  10. <script src="/js/c3.js"></script>
  11. <script>
  12. var chart1 = c3.generate({
  13. bindto: '#chart1',
  14. data: {
  15. columns: [
  16. generateData(100)
  17. ],
  18. },
  19. zoom: {
  20. enabled: true,
  21. initialRange: [30, 60],
  22. onzoomstart: function (event) {
  23. console.log("onzoomstart", event);
  24. },
  25. onzoomend: function (domain) {
  26. console.log("onzoomend", domain);
  27. },
  28. },
  29. subchart: { show: true }
  30. });
  31. var chart2 = c3.generate({
  32. bindto: '#chart2',
  33. data: {
  34. columns: [
  35. generateData(100)
  36. ],
  37. },
  38. axis: {
  39. x: {
  40. }
  41. },
  42. zoom: {
  43. enabled: true,
  44. initialRange: [30, 60],
  45. },
  46. });
  47. function load() {
  48. chart1.load({
  49. columns: [
  50. generateData(Math.random() * 1000)
  51. ],
  52. });
  53. }
  54. function generateData(n) {
  55. var column = ['sample'];
  56. for (var i = 0; i < n; i++) {
  57. column.push(Math.random() * 500);
  58. }
  59. return column;
  60. }
  61. </script>
  62. </body>
  63. </html>