calendar-heatmap.html 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. <html>
  2. <head>
  3. <meta charset="utf-8">
  4. <title>calendar</title>
  5. <meta name="viewport" content="width=device-width, initial-scale=1" />
  6. <link rel="stylesheet" href="lib/reset.css">
  7. <script src="lib/esl.js"></script>
  8. <script src="lib/config.js"></script>
  9. <script src="lib/jquery.min.js"></script>
  10. </head>
  11. <body>
  12. <style>
  13. html, body, #main {
  14. width: 100%;
  15. height: 100%;
  16. }
  17. </style>
  18. <div id="main"></div>
  19. <script>
  20. var getVirtulData = function(year) {
  21. year = year || '2017';
  22. var datas = [];
  23. var arr31 = [1, 3, 5, 7, 8, 10, 12];
  24. var arr30 = [4, 6, 9, 11];
  25. for (var i = 1; i <= 31; i++) {
  26. for (var j = arr31.length - 1; j >= 0; j--) {
  27. datas.push([year + '-' + arr31[j] + '-' + i, Math.floor(Math.random() * 10000)]);
  28. }
  29. }
  30. for (var i = 1; i <= 30; i++) {
  31. for (var j = arr30.length - 1; j >= 0; j--) {
  32. datas.push([year + '-' + arr30[j] + '-' + i, Math.floor(Math.random() * 10000)]);
  33. }
  34. }
  35. for (var i = 1; i <= 29; i++) {
  36. datas.push([year + '-2-' + i, Math.floor(Math.random() * 10000)]);
  37. }
  38. return datas;
  39. }
  40. require([
  41. 'echarts'
  42. // 'echarts/chart/heatmap',
  43. // 'echarts/chart/scatter',
  44. // 'echarts/component/title',
  45. // 'echarts/component/legend',
  46. // 'echarts/component/calendar',
  47. // 'echarts/component/tooltip',
  48. // 'echarts/component/visualMap'
  49. ], function (echarts) {
  50. var chart = echarts.init(document.getElementById('main'));
  51. chart.setOption({
  52. title: {
  53. top: 30,
  54. left: 'center',
  55. text: '2016年某人每天的步数',
  56. subtext: '数据纯属虚构'
  57. },
  58. tooltip : {},
  59. visualMap: {
  60. min: 0,
  61. max: 10000,
  62. type: 'piecewise',
  63. orient: 'horizontal',
  64. left: 'center',
  65. top: 260,
  66. textStyle: {
  67. color: '#000'
  68. }
  69. },
  70. calendar: {
  71. top: 100,
  72. left: 60,
  73. range: '2016'
  74. },
  75. series: {
  76. type: 'heatmap',
  77. coordinateSystem: 'calendar',
  78. data: getVirtulData(2016)
  79. }
  80. });
  81. $(window).resize(function() {
  82. chart.resize();
  83. });
  84. });
  85. </script>
  86. </body>
  87. </html>