candlestickConnect.html 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450
  1. <html>
  2. <head>
  3. <meta charset="utf-8">
  4. <script src="./esl.js"></script>
  5. <script src="./config.js"></script>
  6. </head>
  7. <body>
  8. <style>
  9. html,
  10. body,
  11. #main,
  12. #main2,
  13. #main3 {
  14. width: 90%;
  15. height: 200px;
  16. margin: 0;
  17. padding: 0;
  18. }
  19. #main2 {
  20. width: 75%;
  21. }
  22. #main3 {
  23. width: 50%;
  24. }
  25. #middle {
  26. text-align: center;
  27. padding: 10px;
  28. background: #d4e8f1;
  29. }
  30. </style>
  31. <div id="main"></div>
  32. <div id="main2"></div>
  33. <div id="main3"></div>
  34. <script>
  35. require([
  36. 'data/rainfall.json',
  37. 'echarts',
  38. 'echarts/chart/bar',
  39. 'echarts/chart/line',
  40. 'echarts/chart/candlestick',
  41. 'echarts/component/legend',
  42. 'echarts/component/tooltip',
  43. 'echarts/component/grid',
  44. 'echarts/component/axis',
  45. 'echarts/component/toolbox',
  46. 'echarts/component/dataZoom'
  47. ], function (data, echarts) {
  48. var axisData = [
  49. "2013/1/24", "2013/1/25", "2013/1/28", "2013/1/29", "2013/1/30",
  50. "2013/1/31", "2013/2/1", "2013/2/4", "2013/2/5", "2013/2/6",
  51. "2013/2/7", "2013/2/8", "2013/2/18", "2013/2/19", "2013/2/20",
  52. "2013/2/21", "2013/2/22", "2013/2/25", "2013/2/26", "2013/2/27",
  53. "2013/2/28", "2013/3/1", "2013/3/4", "2013/3/5", "2013/3/6",
  54. "2013/3/7", "2013/3/8", "2013/3/11", "2013/3/12", "2013/3/13",
  55. "2013/3/14", "2013/3/15", "2013/3/18", "2013/3/19", "2013/3/20",
  56. "2013/3/21", "2013/3/22", "2013/3/25", "2013/3/26", "2013/3/27",
  57. "2013/3/28", "2013/3/29", "2013/4/1", "2013/4/2", "2013/4/3",
  58. "2013/4/8", "2013/4/9", "2013/4/10", "2013/4/11", "2013/4/12",
  59. "2013/4/15", "2013/4/16", "2013/4/17", "2013/4/18", "2013/4/19",
  60. "2013/4/22", "2013/4/23", "2013/4/24", "2013/4/25", "2013/4/26",
  61. "2013/5/2", "2013/5/3", "2013/5/6", "2013/5/7", "2013/5/8",
  62. "2013/5/9", "2013/5/10", "2013/5/13", "2013/5/14", "2013/5/15",
  63. "2013/5/16", "2013/5/17", "2013/5/20", "2013/5/21", "2013/5/22",
  64. "2013/5/23", "2013/5/24", "2013/5/27", "2013/5/28", "2013/5/29",
  65. "2013/5/30", "2013/5/31", "2013/6/3", "2013/6/4", "2013/6/5",
  66. "2013/6/6", "2013/6/7", "2013/6/13"
  67. ];
  68. option = {
  69. title : {
  70. text: '2013年上半年上证指数'
  71. },
  72. tooltip : {
  73. trigger: 'axis',
  74. showDelay: 0, // 显示延迟,添加显示延迟可以避免频繁切换,单位ms
  75. formatter: function (params) {
  76. var res = params[0].name;
  77. res += '<br/>' + params[0].seriesName;
  78. res += '<br/> 开盘 : ' + params[0].value[0] + ' 最高 : ' + params[0].value[3];
  79. res += '<br/> 收盘 : ' + params[0].value[1] + ' 最低 : ' + params[0].value[2];
  80. return res;
  81. }
  82. },
  83. legend: {
  84. data:['上证指数','成交金额(万)','虚拟数据']
  85. },
  86. toolbox: {
  87. show : true,
  88. feature : {
  89. mark : {show: true},
  90. dataZoom : {show: true},
  91. magicType : {show: true, type: ['line', 'bar']},
  92. restore : {show: true},
  93. saveAsImage : {show: true}
  94. }
  95. },
  96. dataZoom : {
  97. y: 250,
  98. show : true,
  99. realtime: true,
  100. start : 50,
  101. end : 100
  102. },
  103. grid: {
  104. x: 80,
  105. y: 40,
  106. x2:20,
  107. y2:25
  108. },
  109. xAxis : [
  110. {
  111. type : 'category',
  112. boundaryGap : true,
  113. axisTick: {onGap:false},
  114. splitLine: {show:false},
  115. data : axisData
  116. }
  117. ],
  118. yAxis : [
  119. {
  120. type : 'value',
  121. scale:true,
  122. boundaryGap: [0.05, 0.05],
  123. splitArea : {show : true}
  124. }
  125. ],
  126. series : [
  127. {
  128. name:'上证指数',
  129. type:'candlestick',
  130. data:[ // 开盘,收盘,最低,最高
  131. [2320.26,2302.6,2287.3,2362.94],
  132. [2300,2291.3,2288.26,2308.38],
  133. [2295.35,2346.5,2295.35,2346.92],
  134. [2347.22,2358.98,2337.35,2363.8],
  135. [2360.75,2382.48,2347.89,2383.76],
  136. [2383.43,2385.42,2371.23,2391.82],
  137. [2377.41,2419.02,2369.57,2421.15],
  138. [2425.92,2428.15,2417.58,2440.38],
  139. [2411,2433.13,2403.3,2437.42],
  140. [2432.68,2434.48,2427.7,2441.73],
  141. [2430.69,2418.53,2394.22,2433.89],
  142. [2416.62,2432.4,2414.4,2443.03],
  143. [2441.91,2421.56,2415.43,2444.8],
  144. [2420.26,2382.91,2373.53,2427.07],
  145. [2383.49,2397.18,2370.61,2397.94],
  146. [2378.82,2325.95,2309.17,2378.82],
  147. [2322.94,2314.16,2308.76,2330.88],
  148. [2320.62,2325.82,2315.01,2338.78],
  149. [2313.74,2293.34,2289.89,2340.71],
  150. [2297.77,2313.22,2292.03,2324.63],
  151. [2322.32,2365.59,2308.92,2366.16],
  152. [2364.54,2359.51,2330.86,2369.65],
  153. [2332.08,2273.4,2259.25,2333.54],
  154. [2274.81,2326.31,2270.1,2328.14],
  155. [2333.61,2347.18,2321.6,2351.44],
  156. [2340.44,2324.29,2304.27,2352.02],
  157. [2326.42,2318.61,2314.59,2333.67],
  158. [2314.68,2310.59,2296.58,2320.96],
  159. [2309.16,2286.6,2264.83,2333.29],
  160. [2282.17,2263.97,2253.25,2286.33],
  161. [2255.77,2270.28,2253.31,2276.22],
  162. [2269.31,2278.4,2250,2312.08],
  163. [2267.29,2240.02,2239.21,2276.05],
  164. [2244.26,2257.43,2232.02,2261.31],
  165. [2257.74,2317.37,2257.42,2317.86],
  166. [2318.21,2324.24,2311.6,2330.81],
  167. [2321.4,2328.28,2314.97,2332],
  168. [2334.74,2326.72,2319.91,2344.89],
  169. [2318.58,2297.67,2281.12,2319.99],
  170. [2299.38,2301.26,2289,2323.48],
  171. [2273.55,2236.3,2232.91,2273.55],
  172. [2238.49,2236.62,2228.81,2246.87],
  173. [2229.46,2234.4,2227.31,2243.95],
  174. [2234.9,2227.74,2220.44,2253.42],
  175. [2232.69,2225.29,2217.25,2241.34],
  176. [2196.24,2211.59,2180.67,2212.59],
  177. [2215.47,2225.77,2215.47,2234.73],
  178. [2224.93,2226.13,2212.56,2233.04],
  179. [2236.98,2219.55,2217.26,2242.48],
  180. [2218.09,2206.78,2204.44,2226.26],
  181. [2199.91,2181.94,2177.39,2204.99],
  182. [2169.63,2194.85,2165.78,2196.43],
  183. [2195.03,2193.8,2178.47,2197.51],
  184. [2181.82,2197.6,2175.44,2206.03],
  185. [2201.12,2244.64,2200.58,2250.11],
  186. [2236.4,2242.17,2232.26,2245.12],
  187. [2242.62,2184.54,2182.81,2242.62],
  188. [2187.35,2218.32,2184.11,2226.12],
  189. [2213.19,2199.31,2191.85,2224.63],
  190. [2203.89,2177.91,2173.86,2210.58],
  191. [2170.78,2174.12,2161.14,2179.65],
  192. [2179.05,2205.5,2179.05,2222.81],
  193. [2212.5,2231.17,2212.5,2236.07],
  194. [2227.86,2235.57,2219.44,2240.26],
  195. [2242.39,2246.3,2235.42,2255.21],
  196. [2246.96,2232.97,2221.38,2247.86],
  197. [2228.82,2246.83,2225.81,2247.67],
  198. [2247.68,2241.92,2231.36,2250.85],
  199. [2238.9,2217.01,2205.87,2239.93],
  200. [2217.09,2224.8,2213.58,2225.19],
  201. [2221.34,2251.81,2210.77,2252.87],
  202. [2249.81,2282.87,2248.41,2288.09],
  203. [2286.33,2299.99,2281.9,2309.39],
  204. [2297.11,2305.11,2290.12,2305.3],
  205. [2303.75,2302.4,2292.43,2314.18],
  206. [2293.81,2275.67,2274.1,2304.95],
  207. [2281.45,2288.53,2270.25,2292.59],
  208. [2286.66,2293.08,2283.94,2301.7],
  209. [2293.4,2321.32,2281.47,2322.1],
  210. [2323.54,2324.02,2321.17,2334.33],
  211. [2316.25,2317.75,2310.49,2325.72],
  212. [2320.74,2300.59,2299.37,2325.53],
  213. [2300.21,2299.25,2294.11,2313.43],
  214. [2297.1,2272.42,2264.76,2297.1],
  215. [2270.71,2270.93,2260.87,2276.86],
  216. [2264.43,2242.11,2240.07,2266.69],
  217. [2242.26,2210.9,2205.07,2250.63],
  218. [2190.1,2148.35,2126.22,2190.1]
  219. ]
  220. }
  221. ]
  222. };
  223. option2 = {
  224. tooltip : {
  225. trigger: 'axis',
  226. showDelay: 0 // 显示延迟,添加显示延迟可以避免频繁切换,单位ms
  227. },
  228. legend: {
  229. y : -30,
  230. data:['上证指数','成交金额(万)','虚拟数据']
  231. },
  232. toolbox: {
  233. y : -30,
  234. show : true,
  235. feature : {
  236. mark : {show: true},
  237. dataZoom : {show: true},
  238. dataView : {show: true, readOnly: false},
  239. magicType : {show: true, type: ['line', 'bar']},
  240. restore : {show: true},
  241. saveAsImage : {show: true}
  242. }
  243. },
  244. dataZoom : {
  245. show : true,
  246. realtime: true,
  247. start : 50,
  248. end : 100
  249. },
  250. grid: {
  251. x: 80,
  252. y:5,
  253. x2:20,
  254. y2:40
  255. },
  256. xAxis : [
  257. {
  258. type : 'category',
  259. position:'top',
  260. boundaryGap : true,
  261. axisLabel:{show:false},
  262. axisTick: {onGap:false},
  263. splitLine: {show:false},
  264. data : axisData
  265. }
  266. ],
  267. yAxis : [
  268. {
  269. type : 'value',
  270. scale:true,
  271. splitNumber: 3,
  272. boundaryGap: [0.05, 0.05],
  273. axisLabel: {
  274. formatter: function (v) {
  275. return Math.round(v/10000) + ' 万'
  276. }
  277. },
  278. splitArea : {show : true}
  279. }
  280. ],
  281. series : [
  282. {
  283. name:'成交金额(万)',
  284. type:'line',
  285. symbol: 'none',
  286. data:[
  287. 13560434, 8026738.5, 11691637, 12491697, 12485603,
  288. 11620504, 12555496, 15253370, 12709611, 10458354,
  289. 10933507, 9896523, 10365702, 10633095, 9722230,
  290. 12662783, 8757982, 7764234, 10591719, 8826293,
  291. 11591827, 11153111, 14304651, 11672120, 12536480,
  292. 12608589, 8843860, 7391994.5, 10063709, 7768895.5,
  293. 6921859, 10157810, 8148617.5, 7551207, 11397426,
  294. 10478607, 8595132, 8541862, 9181132, 8570842,
  295. 10759351, 7335819, 6699753.5, 7759666.5, 6880135.5,
  296. 7366616.5, 7313504, 7109021.5, 6213270, 5619688,
  297. 5816217.5, 6695584.5, 5998655.5, 6188812.5, 9538301,
  298. 8224500, 8221751.5, 7897721, 8448324, 6525151,
  299. 5987761, 7831570, 8162560.5, 7904092, 8139084.5,
  300. 9116529, 8128014, 7919148, 7566047, 6665826.5,
  301. 10225527, 11124881, 12884353, 11302521, 11529046,
  302. 11105205, 9202153, 9992016, 12035250, 11431155,
  303. 10354677, 10070399, 9164861, 9237718, 7114268,
  304. 7526158.5, 8105835, 7971452.5
  305. ],
  306. markLine : {
  307. symbol : 'none',
  308. itemStyle : {
  309. normal : {
  310. color:'#1e90ff',
  311. label : {
  312. show:false
  313. }
  314. }
  315. },
  316. data : [
  317. {type : 'average', name: '平均值'}
  318. ]
  319. }
  320. }
  321. ]
  322. };
  323. myChart2 = echarts.init(document.getElementById('main2'));
  324. myChart2.setOption(option2);
  325. option3 = {
  326. tooltip : {
  327. trigger: 'axis',
  328. showDelay: 0 // 显示延迟,添加显示延迟可以避免频繁切换,单位ms
  329. },
  330. legend: {
  331. y : -30,
  332. data:['上证指数','成交金额(万)','虚拟数据']
  333. },
  334. toolbox: {
  335. y : -30,
  336. show : true,
  337. feature : {
  338. mark : {show: true},
  339. dataZoom : {show: true},
  340. dataView : {show: true, readOnly: false},
  341. magicType : {show: true, type: ['line', 'bar']},
  342. restore : {show: true},
  343. saveAsImage : {show: true}
  344. }
  345. },
  346. dataZoom : {
  347. y:200,
  348. show : true,
  349. realtime: true,
  350. start : 50,
  351. end : 100
  352. },
  353. grid: {
  354. x: 80,
  355. y:5,
  356. x2:20,
  357. y2:30
  358. },
  359. xAxis : [
  360. {
  361. type : 'category',
  362. position:'bottom',
  363. boundaryGap : true,
  364. axisTick: {onGap:false},
  365. splitLine: {show:false},
  366. data : axisData
  367. }
  368. ],
  369. yAxis : [
  370. {
  371. type : 'value',
  372. scale:true,
  373. splitNumber:3,
  374. boundaryGap: [0.05, 0.05],
  375. axisLabel: {
  376. formatter: function (v) {
  377. return Math.round(v/10000) + ' 万'
  378. }
  379. },
  380. splitArea : {show : true}
  381. }
  382. ],
  383. series : [
  384. {
  385. name:'虚拟数据',
  386. type:'bar',
  387. symbol: 'none',
  388. data:[
  389. 560434, 226738, 696370, 249697, 248563,
  390. 620504, 555496, 525337, 270968, 458354,
  391. 933507, 896523, 365702, 633095, 722230,
  392. 662783, 875798, 776423, 105979, 882629,
  393. 598278, 231253, 430465, 672208, 253648,
  394. 608589, 884386, 739994, 263709, 776889,
  395. 692859, 105780, 848675, 755207, 397426,
  396. 478607, 859532, 854862, 983288, 857084,
  397. 759358, 733589, 669975, 775965, 688035,
  398. 736666, 733504, 709025, 623270, 569688,
  399. 586275, 669558, 599865, 688825, 953830,
  400. 822450, 822755, 789772, 844832, 652558,
  401. 598776, 783570, 862560, 794092, 839084,
  402. 965298, 828048, 799480, 756647, 665826,
  403. 102257, 248870, 288435, 302528, 529046,
  404. 105205, 920253, 999206, 203525, 435588,
  405. 103546, 703990, 964868, 923778, 742688,
  406. 752658, 805835, 797452
  407. ],
  408. markLine : {
  409. symbol : 'none',
  410. itemStyle : {
  411. normal : {
  412. color:'#1e90ff',
  413. label : {
  414. show:false
  415. }
  416. }
  417. },
  418. data : [
  419. {type : 'average', name: '平均值'}
  420. ]
  421. }
  422. }
  423. ]
  424. };
  425. var myChart = echarts.init(document.getElementById('main'));
  426. myChart.setOption(option);
  427. var myChart2 = echarts.init(document.getElementById('main2'));
  428. myChart2.setOption(option2);
  429. var myChart3 = echarts.init(document.getElementById('main3'));
  430. myChart3.setOption(option3);
  431. echarts.connect([myChart, myChart2, myChart3]);
  432. window.onresize = function () {
  433. myChart.resize();
  434. myChart2.resize();
  435. myChart3.resize();
  436. }
  437. });
  438. </script>
  439. </body>
  440. </html>