timeline-layout.html 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360
  1. <html>
  2. <head>
  3. <meta charset="utf-8">
  4. <script src="esl.js"></script>
  5. <script src="config.js"></script>
  6. <meta name="viewport" content="width=device-width, initial-scale=1" />
  7. </head>
  8. <body>
  9. <style>
  10. html, body, #main {
  11. width: 100%;
  12. height: 100%;
  13. margin: 0;
  14. background: #ccc;
  15. }
  16. .block {
  17. text-align: center;
  18. margin: 20px;
  19. }
  20. .block .ec {
  21. background: #fff;
  22. width: 700px;
  23. height: 400px;
  24. margin: 5px auto;
  25. }
  26. </style>
  27. <div id="main"></div>
  28. <script src="data/timelineGDP.js"></script>
  29. <script>
  30. require([
  31. 'echarts',
  32. 'zrender/core/util',
  33. 'echarts/chart/bar',
  34. 'echarts/component/legend',
  35. 'echarts/component/grid',
  36. 'echarts/component/tooltip',
  37. 'echarts/component/timeline'
  38. ], function (echarts, zrUtil) {
  39. makeChart({});
  40. makeChart({
  41. timeline: {
  42. inverse: true,
  43. symbol: 'path://M0,0L10,0L10,10L0,10L0,0z',
  44. symbolSize: [1, 6],
  45. symbolOffset: [0, 3],
  46. symbolRotate: 30
  47. }
  48. });
  49. makeChart({timeline: {inverse: true, controlStyle: {position: 'right'}}});
  50. makeChart({timeline: {orient: 'vertical', x: 0, y: 10, width: 55, height: '80%'}});
  51. makeChart({timeline: {orient: 'vertical', inverse: true, rewind: true, x: 0, y: 10, width: 55, height: '80%'}});
  52. makeChart({timeline: {orient: 'vertical', inverse: true, x: null, x2: 0, y: 10, width: 55, height: '80%'}});
  53. makeChart({timeline: {orient: 'vertical', inverse: true, x: null, x2: 0, y: 10, width: 55, height: '80%', controlStyle: {position: 'top'}}});
  54. makeChart({timeline: {label: {position: 'top'}}});
  55. makeChart({timeline: {orient: 'vertical', inverse: true, x: null, x2: 0, y: 10, width: 55, height: '80%', label: {position: 'right'}}});
  56. makeChart({timeline: {orient: 'vertical', inverse: true, x: null, x2: 0, y: 10, width: 55, height: '80%', label: {position: -640, emphasis: {textStyle: {fontSize: 20}}}}});
  57. makeChart({timeline: {controlStyle: {show: false}}});
  58. makeChart({timeline: {controlStyle: {showPlayBtn: false}}});
  59. makeChart({timeline: {controlStyle: {showPrevBtn: false}}});
  60. makeChart({timeline: {controlStyle: {showNextBtn: false}}});
  61. makeChart({timeline: {}});
  62. makeChart({
  63. timeline: {lineStyle: {show: false},
  64. symbol: 'circle',
  65. itemStyle: {normal: {color: 'rgba(194,53,49, 0.5)'}},
  66. controlStyle: {showPrevBtn: false, showNextBtn: false, normal: {color: 'rgba(194,53,49, 0.5)', borderColor: 'rgba(194,53,49, 0.5)'}},
  67. orient: 'vertical', inverse: true, x: 0, y: 40, width: 55, height: '80%'
  68. }});
  69. makeChart({
  70. timeline: {
  71. height: 55,
  72. data: [
  73. '2002-01-01','2003-01-01','2004-01-01','2005-01-01',
  74. {
  75. value: '2006-01-01',
  76. symbol: 'pin',
  77. symbolSize: 30
  78. },
  79. '2007-01-01','2008-01-01','2009-01-01','2010-01-01',
  80. {
  81. value: '2011-01-01',
  82. symbol: 'pin',
  83. symbolSize: 30
  84. }
  85. ]
  86. }
  87. });
  88. makeChart({
  89. timeline: {
  90. symbol: 'none'
  91. }
  92. });
  93. function makeChart(opt) {
  94. opt = opt || {};
  95. var containerEl = document.getElementById('main');
  96. var el = document.createElement('div');
  97. el.className = 'block';
  98. el.innerHTML = '<div class="ec"></div><label>'
  99. + encodeHTML(JSON.stringify(opt)) + '</label>';
  100. containerEl.appendChild(el);
  101. var chart = echarts.init(el.firstChild, null, {renderer: 'canvas'});
  102. chart.setOption(getOption(opt));
  103. }
  104. function encodeHTML(source) {
  105. return source == null
  106. ? ''
  107. : String(source)
  108. .replace(/&/g, '&amp;')
  109. .replace(/</g, '&lt;')
  110. .replace(/>/g, '&gt;')
  111. .replace(/"/g, '&quot;')
  112. .replace(/'/g, '&#39;');
  113. };
  114. function getOption(opt) {
  115. return zrUtil.merge({
  116. timeline:{
  117. // y: 0,
  118. axisType: 'category',
  119. // realtime: false,
  120. // loop: false,
  121. autoPlay : false,
  122. // currentIndex: 2,
  123. playInterval : 1000,
  124. // controlStyle: {
  125. // position: 'left'
  126. // },
  127. data: [
  128. '2002-01-01','2003-01-01','2004-01-01','2005-01-01','2006-01-01',
  129. '2007-01-01','2008-01-01','2009-01-01','2010-01-01','2011-01-01'
  130. ],
  131. label: {
  132. formatter : function(s) {
  133. return (new Date(s)).getFullYear();
  134. }
  135. },
  136. controlStyle: {
  137. // itemGap: 0,
  138. normal: {
  139. borderWidth: 1
  140. }
  141. },
  142. itemStyle: {
  143. // normal: {symbolSize: 1}
  144. }
  145. },
  146. baseOption: {
  147. backgroundColor: '#fff',
  148. title: {
  149. 'subtext':'数据来自国家统计局'
  150. },
  151. tooltip: {'trigger':'axis'},
  152. calculable : true,
  153. grid : {
  154. x: 120, x2: 120, y: 80, y2: 100
  155. },
  156. xAxis : [
  157. {
  158. 'type':'category',
  159. 'axisLabel':{'interval':0},
  160. 'data':[
  161. '北京','\n天津','河北','\n山西','内蒙古','\n辽宁','吉林','\n黑龙江',
  162. '上海','\n江苏','浙江','\n安徽','福建','\n江西','山东','\n河南',
  163. '湖北','\n湖南','广东','\n广西','海南','\n重庆','四川','\n贵州',
  164. '云南','\n西藏','陕西','\n甘肃','青海','\n宁夏','新疆'
  165. ],
  166. splitLine: {show: false}
  167. }
  168. ],
  169. yAxis : [
  170. {
  171. 'type':'value',
  172. 'name':'GDP(亿元)',
  173. 'max':53500
  174. },
  175. {
  176. 'type':'value',
  177. 'name':'其他(亿元)',
  178. splitLine: {show: false}
  179. }
  180. ],
  181. series: [
  182. {
  183. name: 'GDP',
  184. type: 'bar',
  185. markLine: {
  186. symbol : ['arrow','none'],
  187. symbolSize : [4, 2],
  188. itemStyle : {
  189. normal: {
  190. lineStyle: {color:'orange'},
  191. barBorderColor:'orange',
  192. label:{
  193. position:'left',
  194. formatter:function(params){
  195. return Math.round(params.value);
  196. },
  197. textStyle:{color:'orange'}
  198. }
  199. }
  200. },
  201. 'data':[{'type':'average','name':'平均值'}]
  202. }
  203. }
  204. // {type: 'bar'},
  205. // {type: 'bar'},
  206. // {type: 'bar'},
  207. // {type: 'bar'},
  208. // {type: 'bar'}
  209. ]
  210. },
  211. options: [
  212. {
  213. title : {text: '2002全国宏观经济指标'},
  214. series : [
  215. {
  216. 'name':'GDP',
  217. 'data': dataMap.dataGDP['2002']
  218. },
  219. {
  220. 'name':'金融','yAxisIndex':1,'type':'bar',
  221. 'data': dataMap.dataFinancial['2002']
  222. },
  223. {
  224. 'name':'房地产','yAxisIndex':1,'type':'bar',
  225. 'data': dataMap.dataEstate['2002']
  226. },
  227. {
  228. 'name':'第一产业','yAxisIndex':1,'type':'bar',
  229. 'data': dataMap.dataPI['2002']
  230. },
  231. {
  232. 'name':'第二产业','yAxisIndex':1,'type':'bar',
  233. 'data': dataMap.dataSI['2002']
  234. },
  235. {
  236. 'name':'第三产业','yAxisIndex':1,'type':'bar',
  237. 'data': dataMap.dataTI['2002']
  238. }
  239. ]
  240. },
  241. {
  242. title : {'text':'2003全国宏观经济指标'},
  243. series : [
  244. {'data': dataMap.dataGDP['2003']},
  245. {'data': dataMap.dataFinancial['2003']},
  246. {'data': dataMap.dataEstate['2003']},
  247. {'data': dataMap.dataPI['2003']},
  248. {'data': dataMap.dataSI['2003']},
  249. {'data': dataMap.dataTI['2003']}
  250. ]
  251. },
  252. {
  253. title : {'text':'2004全国宏观经济指标'},
  254. series : [
  255. {'data': dataMap.dataGDP['2004']},
  256. {'data': dataMap.dataFinancial['2004']},
  257. {'data': dataMap.dataEstate['2004']},
  258. {'data': dataMap.dataPI['2004']},
  259. {'data': dataMap.dataSI['2004']},
  260. {'data': dataMap.dataTI['2004']}
  261. ]
  262. },
  263. {
  264. title : {'text':'2005全国宏观经济指标'},
  265. series : [
  266. {'data': dataMap.dataGDP['2005']},
  267. {'data': dataMap.dataFinancial['2005']},
  268. {'data': dataMap.dataEstate['2005']},
  269. {'data': dataMap.dataPI['2005']},
  270. {'data': dataMap.dataSI['2005']},
  271. {'data': dataMap.dataTI['2005']}
  272. ]
  273. },
  274. {
  275. title : {'text':'2006全国宏观经济指标'},
  276. series : [
  277. {'data': dataMap.dataGDP['2006']},
  278. {'data': dataMap.dataFinancial['2006']},
  279. {'data': dataMap.dataEstate['2006']},
  280. {'data': dataMap.dataPI['2006']},
  281. {'data': dataMap.dataSI['2006']},
  282. {'data': dataMap.dataTI['2006']}
  283. ]
  284. },
  285. {
  286. title : {'text':'2007全国宏观经济指标'},
  287. series : [
  288. {'data': dataMap.dataGDP['2007']},
  289. {'data': dataMap.dataFinancial['2007']},
  290. {'data': dataMap.dataEstate['2007']},
  291. {'data': dataMap.dataPI['2007']},
  292. {'data': dataMap.dataSI['2007']},
  293. {'data': dataMap.dataTI['2007']}
  294. ]
  295. },
  296. {
  297. title : {'text':'2008全国宏观经济指标'},
  298. series : [
  299. {'data': dataMap.dataGDP['2008']},
  300. {'data': dataMap.dataFinancial['2008']},
  301. {'data': dataMap.dataEstate['2008']},
  302. {'data': dataMap.dataPI['2008']},
  303. {'data': dataMap.dataSI['2008']},
  304. {'data': dataMap.dataTI['2008']}
  305. ]
  306. },
  307. {
  308. title : {'text':'2009全国宏观经济指标'},
  309. series : [
  310. {'data': dataMap.dataGDP['2009']},
  311. {'data': dataMap.dataFinancial['2009']},
  312. {'data': dataMap.dataEstate['2009']},
  313. {'data': dataMap.dataPI['2009']},
  314. {'data': dataMap.dataSI['2009']},
  315. {'data': dataMap.dataTI['2009']}
  316. ]
  317. },
  318. {
  319. title : {'text':'2010全国宏观经济指标'},
  320. series : [
  321. {'data': dataMap.dataGDP['2010']},
  322. {'data': dataMap.dataFinancial['2010']},
  323. {'data': dataMap.dataEstate['2010']},
  324. {'data': dataMap.dataPI['2010']},
  325. {'data': dataMap.dataSI['2010']},
  326. {'data': dataMap.dataTI['2010']}
  327. ]
  328. },
  329. {
  330. title : {'text':'2011全国宏观经济指标'},
  331. series : [
  332. {'data': dataMap.dataGDP['2011']},
  333. {'data': dataMap.dataFinancial['2011']},
  334. {'data': dataMap.dataEstate['2011']},
  335. {'data': dataMap.dataPI['2011']},
  336. {'data': dataMap.dataSI['2011']},
  337. {'data': dataMap.dataTI['2011']}
  338. ]
  339. }
  340. ]
  341. }, opt, true);
  342. }
  343. });
  344. </script>
  345. </body>
  346. </html>