candlestick-empty.html 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. <html>
  2. <head>
  3. <meta charset="utf-8">
  4. <meta name="viewport" content="width=device-width, initial-scale=1" />
  5. <script src="lib/esl.js"></script>
  6. <script src="lib/config.js"></script>
  7. <script src="lib/facePrint.js"></script>
  8. </head>
  9. <body>
  10. <style>
  11. html, body, #main {
  12. width: 100%;
  13. height: 100%;
  14. }
  15. </style>
  16. <div id="info"></div>
  17. <div id="main"></div>
  18. <script>
  19. /**
  20. * @see <https://en.wikipedia.org/wiki/Michelson%E2%80%93Morley_experiment>
  21. * @see <http://bl.ocks.org/mbostock/4061502>
  22. */
  23. var chart;
  24. var data;
  25. require([
  26. 'echarts'
  27. // 'echarts/chart/candlestick',
  28. // 'echarts/chart/line',
  29. // 'echarts/component/title',
  30. // 'echarts/component/legend',
  31. // 'echarts/component/grid',
  32. // 'echarts/component/tooltip',
  33. // 'echarts/component/dataZoom',
  34. // 'echarts/component/markPoint',
  35. // 'echarts/component/markLine'
  36. ], function (echarts) {
  37. chart = echarts.init(document.getElementById('main'), null, {
  38. });
  39. var data0 = splitData([
  40. ['2013/1/24'],
  41. ['2013/1/25', 2300,2291.3,2288.26,2308.38],
  42. ['2013/1/28'],
  43. ['2013/1/29', 2347.22,2358.98,2337.35,2363.8],
  44. ['2013/1/30'],
  45. ['2013/1/31', 2383.43,2385.42,2371.23,2391.82],
  46. ['2013/2/1', 2377.41,2419.02,2369.57,2421.15],
  47. ['2013/2/4', 2425.92,2428.15,2417.58,2440.38],
  48. ['2013/2/5', 2411,2433.13,2403.3,2437.42],
  49. ['2013/2/6', 2432.68,2434.48,2427.7,2441.73],
  50. ['2013/2/7', 2430.69,2418.53,2394.22,2433.89],
  51. ['2013/2/8', 2416.62,2432.4,2414.4,2443.03],
  52. ['2013/2/18', 2441.91,2421.56,2415.43,2444.8],
  53. ['2013/2/19', 2420.26,2382.91,2373.53,2427.07],
  54. ['2013/2/20', 2383.49,2397.18,2370.61,2397.94],
  55. ['2013/2/21', 2378.82,2325.95,2309.17,2378.82],
  56. ['2013/2/22', 2322.94,2314.16,2308.76,2330.88]
  57. ]);
  58. option = {
  59. title: {
  60. text: '上证指数',
  61. left: 0
  62. },
  63. tooltip: {
  64. trigger: 'axis',
  65. axisPointer: {
  66. type: 'cross'
  67. }
  68. },
  69. legend: {
  70. data: ['日K', '日K 空']
  71. },
  72. grid: {
  73. left: '10%',
  74. right: '10%',
  75. bottom: '15%'
  76. },
  77. xAxis: {
  78. type: 'category',
  79. data: data0.categoryData,
  80. scale: true,
  81. boundaryGap : false,
  82. axisLine: {onZero: false},
  83. splitLine: {show: false},
  84. splitNumber: 20,
  85. min: 'dataMin',
  86. max: 'dataMax'
  87. },
  88. yAxis: {
  89. scale: true,
  90. splitArea: {
  91. show: true
  92. }
  93. },
  94. dataZoom: [
  95. {
  96. type: 'inside'
  97. },
  98. {
  99. show: true,
  100. type: 'slider',
  101. y: '90%'
  102. }
  103. ],
  104. series: [
  105. {
  106. name: '日K',
  107. type: 'candlestick',
  108. data: data0.values
  109. },
  110. // {
  111. // name: '日K 空',
  112. // type: 'candlestick',
  113. // data: []
  114. // },
  115. ]
  116. };
  117. chart.setOption(option);
  118. });
  119. function splitData(rawData) {
  120. var categoryData = [];
  121. var values = []
  122. for (var i = 0; i < rawData.length; i++) {
  123. categoryData.push(rawData[i].splice(0, 1)[0]);
  124. values.push(rawData[i])
  125. }
  126. return {
  127. categoryData: categoryData,
  128. values: values
  129. };
  130. }
  131. </script>
  132. </body>
  133. </html>