timeline-layout.html 18 KB

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