echartsThemeDesigner.js 46 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221
  1. var myChart = [];
  2. var domCode = document.getElementById('sidebar-code');
  3. var domGraphic = document.getElementById('graphic');
  4. var domMain = $("[md='main']");
  5. var iconResize = document.getElementById('icon-resize');
  6. var needRefresh = false;
  7. function autoResize() {
  8. if ($(iconResize).hasClass('glyphicon-resize-full')) {
  9. focusCode();
  10. iconResize.className = 'glyphicon glyphicon-resize-small';
  11. }
  12. else {
  13. focusGraphic();
  14. iconResize.className = 'glyphicon glyphicon-resize-full';
  15. }
  16. }
  17. function focusCode() {
  18. domCode.className = 'col-md-8 ani';
  19. domGraphic.className = 'col-md-4 ani';
  20. }
  21. function focusGraphic() {
  22. domCode.className = 'col-md-4 ani';
  23. domGraphic.className = 'col-md-8 ani';
  24. if (needRefresh) {
  25. myChart[0].showLoading();
  26. myChart[1].showLoading();
  27. myChart[2].showLoading();
  28. myChart[3].showLoading();
  29. window.location = '#refresh';
  30. setTimeout(refresh, 500);
  31. }
  32. }
  33. var editor = CodeMirror.fromTextArea(
  34. document.getElementById("code"),
  35. { lineNumbers: true }
  36. );
  37. editor.setOption("theme", 'monokai');
  38. editor.on('change', function(){needRefresh = true;});
  39. function refresh(isBtnRefresh){
  40. if (isBtnRefresh) {
  41. needRefresh = true;
  42. focusGraphic();
  43. return;
  44. }
  45. needRefresh = false;
  46. refreshAll();
  47. }
  48. function refreshAll() {
  49. (new Function(editor.doc.getValue()))();
  50. for (var i = 0, l = domMain.length; i < l; i++) {
  51. myChart[i].hideLoading();
  52. myChart[i].setTheme(theme);
  53. }
  54. }
  55. var developMode = false;
  56. if (developMode) {
  57. window.esl = null;
  58. window.define = null;
  59. window.require = null;
  60. (function () {
  61. var script = document.createElement('script');
  62. script.async = true;
  63. var pathname = location.pathname;
  64. var pathSegs = pathname.slice(pathname.indexOf('doc')).split('/');
  65. var pathLevelArr = new Array(pathSegs.length - 1);
  66. script.src = pathLevelArr.join('../') + 'asset/js/esl/esl.js';
  67. if (script.readyState) {
  68. script.onreadystatechange = fireLoad;
  69. }
  70. else {
  71. script.onload = fireLoad;
  72. }
  73. (document.getElementsByTagName('head')[0] || document.body).appendChild(script);
  74. function fireLoad() {
  75. script.onload = script.onreadystatechange = null;
  76. setTimeout(loadedListener,100);
  77. }
  78. function loadedListener() {
  79. // for develop
  80. require.config({
  81. packages: [
  82. {
  83. name: 'echarts',
  84. location: '../../src',
  85. main: 'echarts'
  86. },
  87. {
  88. name: 'zrender',
  89. //location: 'http://ecomfe.github.io/zrender/src',
  90. location: '../../../zrender/src',
  91. main: 'zrender'
  92. }
  93. ]
  94. });
  95. launchExample();
  96. }
  97. })();
  98. }
  99. else {
  100. // for echarts online home page
  101. require.config({
  102. paths: {
  103. echarts: './www/js'
  104. }
  105. });
  106. launchExample();
  107. }
  108. var isExampleLaunched;
  109. function launchExample() {
  110. if (isExampleLaunched) {
  111. return;
  112. }
  113. // 按需加载
  114. isExampleLaunched = 1;
  115. // 按需加载
  116. require(
  117. [
  118. 'echarts',
  119. 'echarts/chart/line',
  120. 'echarts/chart/bar',
  121. 'echarts/chart/scatter',
  122. 'echarts/chart/k',
  123. 'echarts/chart/pie',
  124. 'echarts/chart/radar',
  125. 'echarts/chart/force',
  126. 'echarts/chart/chord',
  127. 'echarts/chart/map',
  128. 'echarts/chart/gauge',
  129. 'echarts/chart/funnel'
  130. ],
  131. requireCallback
  132. );
  133. }
  134. var echarts;
  135. function requireCallback (ec) {
  136. (new Function(editor.doc.getValue()))();
  137. echarts = ec;
  138. for (var i = 0, l = domMain.length; i < l; i++) {
  139. myChart[i] = echarts.init(domMain[i], theme);
  140. myChart[i].setOption(option[i]);
  141. }
  142. window.onresize = function(){
  143. for (var i = 0, l = myChart.length; i < l; i++) {
  144. myChart[i].resize && myChart[i].resize();
  145. }
  146. };
  147. window.saveAsImage = function(){
  148. var domG = document.getElementById('graphic');
  149. var domGWidth = domG.clientWidth;
  150. var domGHeight = domG.clientHeight;
  151. var zrDom = document.createElement('div');
  152. zrDom.style.position = 'absolute';
  153. zrDom.style.left = '-4000px';
  154. zrDom.style.width = domGWidth * 2 + 'px';
  155. zrDom.style.height = (domGHeight / 2)+ 'px';
  156. document.body.appendChild(zrDom);
  157. var _zr = require('zrender').init(zrDom);
  158. /*
  159. _zr.addShape({
  160. shape:'rectangle',
  161. style : {
  162. x : 0,
  163. y : 0,
  164. width : domGWidth * 2,
  165. height : domGHeight / 2,
  166. color: theme.backgroundColor || '#fff'
  167. }
  168. });
  169. */
  170. var domGLeft = 0;// domG.offsetLeft;
  171. var domGTop = 0;//domG.offsetTop;
  172. var ImageShape = require('zrender/shape/Image');
  173. for (var i = 0, l = domMain.length; i < l; i++) {
  174. _zr.addShape(new ImageShape({
  175. style : {
  176. x : domMain[i].offsetParent.offsetLeft - domGLeft + (i < 6 ? 0: domGWidth),
  177. y : domMain[i].offsetParent.offsetTop - domGTop - (i < 6 ? 0: 1200),
  178. image : myChart[i].getDataURL()
  179. }
  180. }));
  181. }
  182. _zr.render();
  183. setTimeout(function() {
  184. var bgColor = theme.backgroundColor
  185. && theme.backgroundColor.replace(' ','') == 'rgba(0,0,0,0)'
  186. ? '#fff' : theme.backgroundColor;
  187. var image = _zr.toDataURL('image/png', bgColor);
  188. _zr.dispose();
  189. zrDom.parentNode.removeChild(zrDom);
  190. zrDom = null;
  191. var downloadDiv = document.createElement('div');
  192. downloadDiv.id = '__saveAsImage_download_wrap__';
  193. downloadDiv.style.cssText = 'position:fixed;'
  194. + 'z-index:99999;'
  195. + 'display:block;'
  196. + 'top:0;left:0;'
  197. + 'background-color:rgba(33,33,33,0.5);'
  198. + 'text-align:center;'
  199. + 'width:100%;'
  200. + 'height:100%;'
  201. + 'line-height:'
  202. + document.documentElement.clientHeight + 'px;';
  203. var downloadLink = document.createElement('a');
  204. downloadLink.href = image
  205. downloadLink.setAttribute('download', 'EChartsTheme.png');
  206. downloadLink.innerHTML = '<img style="height:80%" src="' + image
  207. + '" title="'
  208. + (!!(window.attachEvent && navigator.userAgent.indexOf('Opera') === -1)
  209. ? '右键->图片另存为'
  210. : '点击保存')
  211. + '"/>';
  212. downloadDiv.appendChild(downloadLink);
  213. document.body.appendChild(downloadDiv);
  214. downloadDiv.onclick = function () {
  215. var d = document.getElementById(
  216. '__saveAsImage_download_wrap__'
  217. );
  218. d.onclick = null;
  219. d.innerHTML = '';
  220. document.body.removeChild(d);
  221. d = null;
  222. };
  223. downloadLink = null;
  224. downloadDiv = null;
  225. }, 100);
  226. }
  227. }
  228. var theme;
  229. var option = {
  230. 0 : {
  231. title : {
  232. text: '【ECharts主题定制】折柱混搭',
  233. subtext: '纯属虚构'
  234. },
  235. tooltip : {
  236. trigger: 'axis'
  237. },
  238. toolbox: {
  239. show : true,
  240. feature : {
  241. magicType: {show: true, type: ['line', 'bar']},
  242. dataView : {show: true, readOnly: false},
  243. restore : {show: true}
  244. }
  245. },
  246. legend: {
  247. data:['降水量','蒸发量','最高温度','最低温度']
  248. },
  249. xAxis : [
  250. {
  251. type : 'category',
  252. data : ['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月']
  253. }
  254. ],
  255. yAxis : [
  256. {
  257. type : 'value',
  258. name : '水量',
  259. axisLabel : {
  260. formatter: '{value} ml'
  261. }
  262. },
  263. {
  264. type : 'value',
  265. name : '温度',
  266. axisLabel : {
  267. formatter: '{value} °C'
  268. },
  269. splitLine : {show : false}
  270. }
  271. ],
  272. series : [
  273. {
  274. name:'降水量',
  275. type:'bar',
  276. stack:'1',
  277. data:[12.0, 14.9, 17.0, 23.2, 35.6, 76.7, 105.6, 112.2, 52.6, 30.0, 19.4, 13.3]
  278. },
  279. {
  280. name:'蒸发量',
  281. type:'bar',
  282. data:[22.2, 25.9, 29.0, 36.4, 58.7, 90.7, 145.6, 122.2, 78.7, 48.8, 26.0, 22.3]
  283. },
  284. {
  285. name:'最高温度',
  286. type:'line',
  287. yAxisIndex: 1,
  288. data:[2.0, 2.2, 3.3, 4.5, 6.3, 10.2, 20.3, 23.4, 23.0, 16.5, 12.0, 6.2]
  289. },
  290. {
  291. name:'最低温度',
  292. type:'line',
  293. yAxisIndex: 1,
  294. data:[-5.0, -2.2, 0, 1.0, 3.2, 6.2, 10.3, 14.7, 13.5, 10.5, 6.0, 3.2]
  295. }
  296. ]
  297. },
  298. 1 : {
  299. title : {
  300. text: '条形图'
  301. },
  302. legend: {
  303. x:'right',
  304. data:['直接','邮件','联盟','视频','搜索']
  305. },
  306. toolbox: {
  307. show : true,
  308. orient : 'vertical',
  309. x : 'right',
  310. y : 'center',
  311. feature : {
  312. magicType: {show: true, type: ['line', 'bar']},
  313. restore : {show: true}
  314. }
  315. },
  316. tooltip : {
  317. trigger: 'axis',
  318. axisPointer : { // 坐标轴指示器,坐标轴触发有效
  319. type : 'shadow' // 默认为直线,可选为:'line' | 'shadow'
  320. }
  321. },
  322. grid : {
  323. x : 45,
  324. y : 40,
  325. x2 : 35
  326. },
  327. xAxis : [
  328. {
  329. type : 'value'
  330. }
  331. ],
  332. yAxis : [
  333. {
  334. type : 'category',
  335. data : ['周一','周二','周三','周四','周五','周六','周日']
  336. }
  337. ],
  338. series : [
  339. {
  340. name:'直接',
  341. type:'bar',
  342. stack: '广告',
  343. data:[220, 232, 301, 334, 390, 330, 320]
  344. },
  345. {
  346. name:'邮件',
  347. type:'bar',
  348. stack: '广告',
  349. data:[80, 102, 101, 134, 90, 230, 210]
  350. },
  351. {
  352. name:'联盟',
  353. type:'bar',
  354. stack: '广告',
  355. data:[180, 182, 191, 234, 290, 330, 310]
  356. },
  357. {
  358. name:'视频',
  359. type:'bar',
  360. stack: '广告',
  361. data:[110, 132, 201, 154, 190, 330, 510]
  362. },
  363. {
  364. name:'搜索',
  365. type:'bar',
  366. data:[662, 748, 864, 1026, 1162, 1100, 1430],
  367. markLine : {
  368. data : [
  369. [
  370. {name : '周最低', yAxis: '周一', xAxis: 690, value:50},
  371. {name : '周最高', yAxis: '周五', xAxis: 1190}
  372. ]
  373. ]
  374. }
  375. }
  376. ]
  377. },
  378. 2 : {
  379. title : {
  380. text: '折线区域图'
  381. },
  382. tooltip : {
  383. trigger: 'axis'
  384. },
  385. legend: {
  386. x:'right',
  387. data:['意向','预购','成交']
  388. },
  389. toolbox: {
  390. show : true,
  391. orient : 'vertical',
  392. x : 'right',
  393. y : 'center',
  394. feature : {
  395. magicType: {show: true, type: ['line', 'bar']},
  396. restore : {show: true}
  397. }
  398. },
  399. grid : {
  400. x : 45,
  401. y : 40,
  402. x2 : 35
  403. },
  404. xAxis : [
  405. {
  406. type : 'category',
  407. boundaryGap : false,
  408. data : ['周一','周二','周三','周四','周五','周六','周日']
  409. }
  410. ],
  411. yAxis : [
  412. {
  413. type : 'value'
  414. }
  415. ],
  416. series : [
  417. {
  418. name:'成交',
  419. type:'line',
  420. smooth:true,
  421. itemStyle: {normal: {areaStyle: {type: 'default'}}},
  422. data:[10, 12, 21, 54, 260, 830, 710],
  423. markPoint : {
  424. data : [
  425. {name : '周最高', value : 830, xAxis: '周六', yAxis: 860}
  426. ]
  427. }
  428. },
  429. {
  430. name:'预购',
  431. type:'line',
  432. smooth:true,
  433. itemStyle: {normal: {areaStyle: {type: 'default'}}},
  434. data:[30, 182, 434, 790, 390, 30, 10],
  435. markPoint : {
  436. data : [
  437. {name : '周最高', value : 790, xAxis: '周四', yAxis: 830}
  438. ]
  439. }
  440. },
  441. {
  442. name:'意向',
  443. type:'line',
  444. smooth:true,
  445. itemStyle: {normal: {areaStyle: {type: 'default'}}},
  446. data:[1320, 1132, 601, 234, 120, 90, 20]
  447. }
  448. ]
  449. },
  450. 3 : {
  451. title : {
  452. text: 'K线图'
  453. },
  454. tooltip : {
  455. trigger: 'axis',
  456. formatter: function(params) {
  457. var res = params[1][1];
  458. res += '<br/>' + params[1][0];
  459. res += '<br/> 开盘 : ' + params[1][2][0] + ' 最高 : ' + params[1][2][3];
  460. res += '<br/> 收盘 : ' + params[1][2][1] + ' 最低 : ' + params[1][2][2];
  461. res += '<br/>' + params[0][0];
  462. res += ' : ' + params[0][2];
  463. return res;
  464. }
  465. },
  466. legend: {
  467. data:['上证指数','成交金额(万)']
  468. },
  469. toolbox: {
  470. show : true,
  471. feature : {
  472. mark : {show: true},
  473. dataZoom : {show: true},
  474. magicType: {show: true, type: ['line', 'bar']},
  475. dataView : {show: true, readOnly: false},
  476. restore : {show: true}
  477. }
  478. },
  479. dataZoom : {
  480. show : true,
  481. realtime: true,
  482. start : 50,
  483. end : 100
  484. },
  485. xAxis : [
  486. {
  487. type : 'category',
  488. boundaryGap : true,
  489. axisTick: {onGap:false},
  490. data : [
  491. "2013/1/24", "2013/1/25", "2013/1/28", "2013/1/29", "2013/1/30",
  492. "2013/1/31", "2013/2/1", "2013/2/4", "2013/2/5", "2013/2/6",
  493. "2013/2/7", "2013/2/8", "2013/2/18", "2013/2/19", "2013/2/20",
  494. "2013/2/21", "2013/2/22", "2013/2/25", "2013/2/26", "2013/2/27",
  495. "2013/2/28", "2013/3/1", "2013/3/4", "2013/3/5", "2013/3/6",
  496. "2013/3/7", "2013/3/8", "2013/3/11", "2013/3/12", "2013/3/13",
  497. "2013/3/14", "2013/3/15", "2013/3/18", "2013/3/19", "2013/3/20",
  498. "2013/3/21", "2013/3/22", "2013/3/25", "2013/3/26", "2013/3/27",
  499. "2013/3/28", "2013/3/29", "2013/4/1", "2013/4/2", "2013/4/3",
  500. "2013/4/8", "2013/4/9", "2013/4/10", "2013/4/11", "2013/4/12",
  501. "2013/4/15", "2013/4/16", "2013/4/17", "2013/4/18", "2013/4/19",
  502. "2013/4/22", "2013/4/23", "2013/4/24", "2013/4/25", "2013/4/26",
  503. "2013/5/2", "2013/5/3", "2013/5/6", "2013/5/7", "2013/5/8",
  504. "2013/5/9", "2013/5/10", "2013/5/13", "2013/5/14", "2013/5/15",
  505. "2013/5/16", "2013/5/17", "2013/5/20", "2013/5/21", "2013/5/22",
  506. "2013/5/23", "2013/5/24", "2013/5/27", "2013/5/28", "2013/5/29",
  507. "2013/5/30", "2013/5/31", "2013/6/3", "2013/6/4", "2013/6/5",
  508. "2013/6/6", "2013/6/7", "2013/6/13"
  509. ]
  510. }
  511. ],
  512. yAxis : [
  513. {
  514. type : 'value',
  515. name : '指数',
  516. scale:true,
  517. precision: 2,
  518. splitNumber: 7,
  519. boundaryGap: [0.05, 0.05]
  520. },
  521. {
  522. type : 'value',
  523. name : '成交量',
  524. scale:true,
  525. splitNumber: 7,
  526. boundaryGap: [0.05, 0.05]
  527. }
  528. ],
  529. series : [
  530. {
  531. name:'成交金额(万)',
  532. type:'line',
  533. yAxisIndex: 1,
  534. symbol: 'none',
  535. data:[
  536. 13560434, 8026738.5, 11691637, 12491697, 12485603,
  537. 11620504, 12555496, 15253370, 12709611, 10458354,
  538. 10933507, 9896523, 10365702, 10633095, 9722230,
  539. 12662783, 8757982, 7764234, 10591719, 8826293,
  540. 11591827, 11153111, 14304651, 11672120, 12536480,
  541. 12608589, 8843860, 7391994.5, 10063709, 7768895.5,
  542. 6921859, 10157810, 8148617.5, 7551207, 11397426,
  543. 10478607, 8595132, 8541862, 9181132, 8570842,
  544. 10759351, 7335819, 6699753.5, 7759666.5, 6880135.5,
  545. 7366616.5, 7313504, 7109021.5, 6213270, 5619688,
  546. 5816217.5, 6695584.5, 5998655.5, 6188812.5, 9538301,
  547. 8224500, 8221751.5, 7897721, 8448324, 6525151,
  548. 5987761, 7831570, 8162560.5, 7904092, 8139084.5,
  549. 9116529, 8128014, 7919148, 7566047, 6665826.5,
  550. 10225527, 11124881, 12884353, 11302521, 11529046,
  551. 11105205, 9202153, 9992016, 12035250, 11431155,
  552. 10354677, 10070399, 9164861, 9237718, 7114268,
  553. 7526158.5, 8105835, 7971452.5
  554. ]
  555. },
  556. {
  557. name:'上证指数',
  558. type:'k',
  559. data:[ // 开盘,收盘,最低,最高
  560. [2320.26,2302.6,2287.3,2362.94],
  561. [2300,2291.3,2288.26,2308.38],
  562. [2295.35,2346.5,2295.35,2346.92],
  563. [2347.22,2358.98,2337.35,2363.8],
  564. [2360.75,2382.48,2347.89,2383.76],
  565. [2383.43,2385.42,2371.23,2391.82],
  566. [2377.41,2419.02,2369.57,2421.15],
  567. [2425.92,2428.15,2417.58,2440.38],
  568. [2411,2433.13,2403.3,2437.42],
  569. [2432.68,2434.48,2427.7,2441.73],
  570. [2430.69,2418.53,2394.22,2433.89],
  571. [2416.62,2432.4,2414.4,2443.03],
  572. [2441.91,2421.56,2415.43,2444.8],
  573. [2420.26,2382.91,2373.53,2427.07],
  574. [2383.49,2397.18,2370.61,2397.94],
  575. [2378.82,2325.95,2309.17,2378.82],
  576. [2322.94,2314.16,2308.76,2330.88],
  577. [2320.62,2325.82,2315.01,2338.78],
  578. [2313.74,2293.34,2289.89,2340.71],
  579. [2297.77,2313.22,2292.03,2324.63],
  580. [2322.32,2365.59,2308.92,2366.16],
  581. [2364.54,2359.51,2330.86,2369.65],
  582. [2332.08,2273.4,2259.25,2333.54],
  583. [2274.81,2326.31,2270.1,2328.14],
  584. [2333.61,2347.18,2321.6,2351.44],
  585. [2340.44,2324.29,2304.27,2352.02],
  586. [2326.42,2318.61,2314.59,2333.67],
  587. [2314.68,2310.59,2296.58,2320.96],
  588. [2309.16,2286.6,2264.83,2333.29],
  589. [2282.17,2263.97,2253.25,2286.33],
  590. [2255.77,2270.28,2253.31,2276.22],
  591. [2269.31,2278.4,2250,2312.08],
  592. [2267.29,2240.02,2239.21,2276.05],
  593. [2244.26,2257.43,2232.02,2261.31],
  594. [2257.74,2317.37,2257.42,2317.86],
  595. [2318.21,2324.24,2311.6,2330.81],
  596. [2321.4,2328.28,2314.97,2332],
  597. [2334.74,2326.72,2319.91,2344.89],
  598. [2318.58,2297.67,2281.12,2319.99],
  599. [2299.38,2301.26,2289,2323.48],
  600. [2273.55,2236.3,2232.91,2273.55],
  601. [2238.49,2236.62,2228.81,2246.87],
  602. [2229.46,2234.4,2227.31,2243.95],
  603. [2234.9,2227.74,2220.44,2253.42],
  604. [2232.69,2225.29,2217.25,2241.34],
  605. [2196.24,2211.59,2180.67,2212.59],
  606. [2215.47,2225.77,2215.47,2234.73],
  607. [2224.93,2226.13,2212.56,2233.04],
  608. [2236.98,2219.55,2217.26,2242.48],
  609. [2218.09,2206.78,2204.44,2226.26],
  610. [2199.91,2181.94,2177.39,2204.99],
  611. [2169.63,2194.85,2165.78,2196.43],
  612. [2195.03,2193.8,2178.47,2197.51],
  613. [2181.82,2197.6,2175.44,2206.03],
  614. [2201.12,2244.64,2200.58,2250.11],
  615. [2236.4,2242.17,2232.26,2245.12],
  616. [2242.62,2184.54,2182.81,2242.62],
  617. [2187.35,2218.32,2184.11,2226.12],
  618. [2213.19,2199.31,2191.85,2224.63],
  619. [2203.89,2177.91,2173.86,2210.58],
  620. [2170.78,2174.12,2161.14,2179.65],
  621. [2179.05,2205.5,2179.05,2222.81],
  622. [2212.5,2231.17,2212.5,2236.07],
  623. [2227.86,2235.57,2219.44,2240.26],
  624. [2242.39,2246.3,2235.42,2255.21],
  625. [2246.96,2232.97,2221.38,2247.86],
  626. [2228.82,2246.83,2225.81,2247.67],
  627. [2247.68,2241.92,2231.36,2250.85],
  628. [2238.9,2217.01,2205.87,2239.93],
  629. [2217.09,2224.8,2213.58,2225.19],
  630. [2221.34,2251.81,2210.77,2252.87],
  631. [2249.81,2282.87,2248.41,2288.09],
  632. [2286.33,2299.99,2281.9,2309.39],
  633. [2297.11,2305.11,2290.12,2305.3],
  634. [2303.75,2302.4,2292.43,2314.18],
  635. [2293.81,2275.67,2274.1,2304.95],
  636. [2281.45,2288.53,2270.25,2292.59],
  637. [2286.66,2293.08,2283.94,2301.7],
  638. [2293.4,2321.32,2281.47,2322.1],
  639. [2323.54,2324.02,2321.17,2334.33],
  640. [2316.25,2317.75,2310.49,2325.72],
  641. [2320.74,2300.59,2299.37,2325.53],
  642. [2300.21,2299.25,2294.11,2313.43],
  643. [2297.1,2272.42,2264.76,2297.1],
  644. [2270.71,2270.93,2260.87,2276.86],
  645. [2264.43,2242.11,2240.07,2266.69],
  646. [2242.26,2210.9,2205.07,2250.63],
  647. [2190.1,2148.35,2126.22,2190.1]
  648. ]
  649. }
  650. ],
  651. animation: true
  652. },
  653. 4 : {
  654. title : {
  655. text: '散点图'
  656. },
  657. tooltip : {
  658. trigger: 'item',
  659. formatter : function(value) {
  660. return value[0] + ' :<br/>'
  661. + value[2][0] + 'cm '
  662. + value[2][1] + 'kg ';
  663. }
  664. },
  665. legend: {
  666. x:'right',
  667. data:['女性','男性']
  668. },
  669. toolbox: {
  670. show : true,
  671. orient : 'vertical',
  672. x : 'right',
  673. y : 'center',
  674. feature : {
  675. dataZoom : {show: true},
  676. restore : {show: true}
  677. }
  678. },
  679. grid : {
  680. x : 55,
  681. y : 40,
  682. x2 : 35,
  683. y2 : 30
  684. },
  685. xAxis : [
  686. {
  687. type : 'value',
  688. power: 1,
  689. precision: 2,
  690. scale:true,
  691. axisLabel : {
  692. formatter: '{value} cm'
  693. }
  694. }
  695. ],
  696. yAxis : [
  697. {
  698. type : 'value',
  699. power: 1,
  700. precision: 2,
  701. scale:true,
  702. axisLabel : {
  703. formatter: '{value} kg'
  704. }
  705. }
  706. ],
  707. series : [
  708. {
  709. name:'女性',
  710. type:'scatter',
  711. data: [[161.2, 51.6], [167.5, 59.0], [159.5, 49.2], [157.0, 63.0], [155.8, 53.6],
  712. [170.0, 59.0], [159.1, 47.6], [166.0, 69.8], [176.2, 66.8], [160.2, 75.2],
  713. [172.5, 55.2], [170.9, 54.2], [172.9, 62.5], [153.4, 42.0], [160.0, 50.0],
  714. [147.2, 49.8], [168.2, 49.2], [175.0, 73.2], [157.0, 47.8], [167.6, 68.8],
  715. [159.5, 50.6], [175.0, 82.5], [166.8, 57.2], [176.5, 87.8], [170.2, 72.8],
  716. [174.0, 54.5], [173.0, 59.8], [179.9, 67.3], [170.5, 67.8], [160.0, 47.0],
  717. [154.4, 46.2], [162.0, 55.0], [176.5, 83.0], [160.0, 54.4], [152.0, 45.8],
  718. [162.1, 53.6], [170.0, 73.2], [160.2, 52.1], [161.3, 67.9], [166.4, 56.6],
  719. [168.9, 62.3], [163.8, 58.5], [167.6, 54.5], [160.0, 50.2], [161.3, 60.3],
  720. [167.6, 58.3], [165.1, 56.2], [160.0, 50.2], [170.0, 72.9], [157.5, 59.8],
  721. [167.6, 61.0], [160.7, 69.1], [163.2, 55.9], [152.4, 46.5], [157.5, 54.3],
  722. [168.3, 54.8], [180.3, 60.7], [165.5, 60.0], [165.0, 62.0], [164.5, 60.3],
  723. [156.0, 52.7], [160.0, 74.3], [163.0, 62.0], [165.7, 73.1], [161.0, 80.0],
  724. [162.0, 54.7], [166.0, 53.2], [174.0, 75.7], [172.7, 61.1], [167.6, 55.7],
  725. [151.1, 48.7], [164.5, 52.3], [163.5, 50.0], [152.0, 59.3], [169.0, 62.5],
  726. [164.0, 55.7], [161.2, 54.8], [155.0, 45.9], [170.0, 70.6], [176.2, 67.2],
  727. [170.0, 69.4], [162.5, 58.2], [170.3, 64.8], [164.1, 71.6], [169.5, 52.8],
  728. [163.2, 59.8], [154.5, 49.0], [159.8, 50.0], [173.2, 69.2], [170.0, 55.9],
  729. [161.4, 63.4], [169.0, 58.2], [166.2, 58.6], [159.4, 45.7], [162.5, 52.2],
  730. [159.0, 48.6], [162.8, 57.8], [159.0, 55.6], [179.8, 66.8], [162.9, 59.4],
  731. [161.0, 53.6], [151.1, 73.2], [168.2, 53.4], [168.9, 69.0], [173.2, 58.4],
  732. [171.8, 56.2], [178.0, 70.6], [164.3, 59.8], [163.0, 72.0], [168.5, 65.2],
  733. [166.8, 56.6], [172.7, 105.2], [163.5, 51.8], [169.4, 63.4], [167.8, 59.0],
  734. [159.5, 47.6], [167.6, 63.0], [161.2, 55.2], [160.0, 45.0], [163.2, 54.0],
  735. [162.2, 50.2], [161.3, 60.2], [149.5, 44.8], [157.5, 58.8], [163.2, 56.4],
  736. [172.7, 62.0], [155.0, 49.2], [156.5, 67.2], [164.0, 53.8], [160.9, 54.4],
  737. [162.8, 58.0], [167.0, 59.8], [160.0, 54.8], [160.0, 43.2], [168.9, 60.5],
  738. [158.2, 46.4], [156.0, 64.4], [160.0, 48.8], [167.1, 62.2], [158.0, 55.5],
  739. [167.6, 57.8], [156.0, 54.6], [162.1, 59.2], [173.4, 52.7], [159.8, 53.2],
  740. [170.5, 64.5], [159.2, 51.8], [157.5, 56.0], [161.3, 63.6], [162.6, 63.2],
  741. [160.0, 59.5], [168.9, 56.8], [165.1, 64.1], [162.6, 50.0], [165.1, 72.3],
  742. [166.4, 55.0], [160.0, 55.9], [152.4, 60.4], [170.2, 69.1], [162.6, 84.5],
  743. [170.2, 55.9], [158.8, 55.5], [172.7, 69.5], [167.6, 76.4], [162.6, 61.4],
  744. [167.6, 65.9], [156.2, 58.6], [175.2, 66.8], [172.1, 56.6], [162.6, 58.6],
  745. [160.0, 55.9], [165.1, 59.1], [182.9, 81.8], [166.4, 70.7], [165.1, 56.8],
  746. [177.8, 60.0], [165.1, 58.2], [175.3, 72.7], [154.9, 54.1], [158.8, 49.1],
  747. [172.7, 75.9], [168.9, 55.0], [161.3, 57.3], [167.6, 55.0], [165.1, 65.5],
  748. [175.3, 65.5], [157.5, 48.6], [163.8, 58.6], [167.6, 63.6], [165.1, 55.2],
  749. [165.1, 62.7], [168.9, 56.6], [162.6, 53.9], [164.5, 63.2], [176.5, 73.6],
  750. [168.9, 62.0], [175.3, 63.6], [159.4, 53.2], [160.0, 53.4], [170.2, 55.0],
  751. [162.6, 70.5], [167.6, 54.5], [162.6, 54.5], [160.7, 55.9], [160.0, 59.0],
  752. [157.5, 63.6], [162.6, 54.5], [152.4, 47.3], [170.2, 67.7], [165.1, 80.9],
  753. [172.7, 70.5], [165.1, 60.9], [170.2, 63.6], [170.2, 54.5], [170.2, 59.1],
  754. [161.3, 70.5], [167.6, 52.7], [167.6, 62.7], [165.1, 86.3], [162.6, 66.4],
  755. [152.4, 67.3], [168.9, 63.0], [170.2, 73.6], [175.2, 62.3], [175.2, 57.7],
  756. [160.0, 55.4], [165.1, 104.1], [174.0, 55.5], [170.2, 77.3], [160.0, 80.5],
  757. [167.6, 64.5], [167.6, 72.3], [167.6, 61.4], [154.9, 58.2], [162.6, 81.8],
  758. [175.3, 63.6], [171.4, 53.4], [157.5, 54.5], [165.1, 53.6], [160.0, 60.0],
  759. [174.0, 73.6], [162.6, 61.4], [174.0, 55.5], [162.6, 63.6], [161.3, 60.9],
  760. [156.2, 60.0], [149.9, 46.8], [169.5, 57.3], [160.0, 64.1], [175.3, 63.6],
  761. [169.5, 67.3], [160.0, 75.5], [172.7, 68.2], [162.6, 61.4], [157.5, 76.8],
  762. [176.5, 71.8], [164.4, 55.5], [160.7, 48.6], [174.0, 66.4], [163.8, 67.3]
  763. ]
  764. },
  765. {
  766. name:'男性',
  767. type:'scatter',
  768. data: [[174.0, 65.6], [175.3, 71.8], [193.5, 80.7], [186.5, 72.6], [187.2, 78.8],
  769. [181.5, 74.8], [184.0, 86.4], [184.5, 78.4], [175.0, 62.0], [184.0, 81.6],
  770. [180.0, 76.6], [177.8, 83.6], [192.0, 90.0], [176.0, 74.6], [174.0, 71.0],
  771. [184.0, 79.6], [192.7, 93.8], [171.5, 70.0], [173.0, 72.4], [176.0, 85.9],
  772. [176.0, 78.8], [180.5, 77.8], [172.7, 66.2], [176.0, 86.4], [173.5, 81.8],
  773. [178.0, 89.6], [180.3, 82.8], [180.3, 76.4], [164.5, 63.2], [173.0, 60.9],
  774. [183.5, 74.8], [175.5, 70.0], [188.0, 72.4], [189.2, 84.1], [172.8, 69.1],
  775. [170.0, 59.5], [182.0, 67.2], [170.0, 61.3], [177.8, 68.6], [184.2, 80.1],
  776. [186.7, 87.8], [171.4, 84.7], [172.7, 73.4], [175.3, 72.1], [180.3, 82.6],
  777. [182.9, 88.7], [188.0, 84.1], [177.2, 94.1], [172.1, 74.9], [167.0, 59.1],
  778. [169.5, 75.6], [174.0, 86.2], [172.7, 75.3], [182.2, 87.1], [164.1, 55.2],
  779. [163.0, 57.0], [171.5, 61.4], [184.2, 76.8], [174.0, 86.8], [174.0, 72.2],
  780. [177.0, 71.6], [186.0, 84.8], [167.0, 68.2], [171.8, 66.1], [182.0, 72.0],
  781. [167.0, 64.6], [177.8, 74.8], [164.5, 70.0], [192.0, 101.6], [175.5, 63.2],
  782. [171.2, 79.1], [181.6, 78.9], [167.4, 67.7], [181.1, 66.0], [177.0, 68.2],
  783. [174.5, 63.9], [177.5, 72.0], [170.5, 56.8], [182.4, 74.5], [197.1, 90.9],
  784. [180.1, 93.0], [175.5, 80.9], [180.6, 72.7], [184.4, 68.0], [175.5, 70.9],
  785. [180.6, 72.5], [177.0, 72.5], [177.1, 83.4], [181.6, 75.5], [176.5, 73.0],
  786. [175.0, 70.2], [174.0, 73.4], [165.1, 70.5], [177.0, 68.9], [192.0, 102.3],
  787. [176.5, 68.4], [169.4, 65.9], [182.1, 75.7], [179.8, 84.5], [175.3, 87.7],
  788. [184.9, 86.4], [177.3, 73.2], [167.4, 53.9], [178.1, 72.0], [168.9, 55.5],
  789. [157.2, 58.4], [180.3, 83.2], [170.2, 72.7], [177.8, 64.1], [172.7, 72.3],
  790. [165.1, 65.0], [186.7, 86.4], [165.1, 65.0], [174.0, 88.6], [175.3, 84.1],
  791. [185.4, 66.8], [177.8, 75.5], [180.3, 93.2], [180.3, 82.7], [177.8, 58.0],
  792. [177.8, 79.5], [177.8, 78.6], [177.8, 71.8], [177.8, 116.4], [163.8, 72.2],
  793. [188.0, 83.6], [198.1, 85.5], [175.3, 90.9], [166.4, 85.9], [190.5, 89.1],
  794. [166.4, 75.0], [177.8, 77.7], [179.7, 86.4], [172.7, 90.9], [190.5, 73.6],
  795. [185.4, 76.4], [168.9, 69.1], [167.6, 84.5], [175.3, 64.5], [170.2, 69.1],
  796. [190.5, 108.6], [177.8, 86.4], [190.5, 80.9], [177.8, 87.7], [184.2, 94.5],
  797. [176.5, 80.2], [177.8, 72.0], [180.3, 71.4], [171.4, 72.7], [172.7, 84.1],
  798. [172.7, 76.8], [177.8, 63.6], [177.8, 80.9], [182.9, 80.9], [170.2, 85.5],
  799. [167.6, 68.6], [175.3, 67.7], [165.1, 66.4], [185.4, 102.3], [181.6, 70.5],
  800. [172.7, 95.9], [190.5, 84.1], [179.1, 87.3], [175.3, 71.8], [170.2, 65.9],
  801. [193.0, 95.9], [171.4, 91.4], [177.8, 81.8], [177.8, 96.8], [167.6, 69.1],
  802. [167.6, 82.7], [180.3, 75.5], [182.9, 79.5], [176.5, 73.6], [186.7, 91.8],
  803. [188.0, 84.1], [188.0, 85.9], [177.8, 81.8], [174.0, 82.5], [177.8, 80.5],
  804. [171.4, 70.0], [185.4, 81.8], [185.4, 84.1], [188.0, 90.5], [188.0, 91.4],
  805. [182.9, 89.1], [176.5, 85.0], [175.3, 69.1], [175.3, 73.6], [188.0, 80.5],
  806. [188.0, 82.7], [175.3, 86.4], [170.5, 67.7], [179.1, 92.7], [177.8, 93.6],
  807. [175.3, 70.9], [182.9, 75.0], [170.8, 93.2], [188.0, 93.2], [180.3, 77.7],
  808. [177.8, 61.4], [185.4, 94.1], [168.9, 75.0], [185.4, 83.6], [180.3, 85.5],
  809. [174.0, 73.9], [167.6, 66.8], [182.9, 87.3], [160.0, 72.3], [180.3, 88.6],
  810. [167.6, 75.5], [186.7, 101.4], [175.3, 91.1], [175.3, 67.3], [175.9, 77.7],
  811. [175.3, 81.8], [179.1, 75.5], [181.6, 84.5], [177.8, 76.6], [182.9, 85.0],
  812. [177.8, 102.5], [184.2, 77.3], [179.1, 71.8], [176.5, 87.9], [188.0, 94.3],
  813. [174.0, 70.9], [167.6, 64.5], [170.2, 77.3], [167.6, 72.3], [188.0, 87.3],
  814. [174.0, 80.0], [176.5, 82.3], [180.3, 73.6], [167.6, 74.1], [188.0, 85.9],
  815. [180.3, 73.2], [167.6, 76.3], [183.0, 65.9], [183.0, 90.9], [179.1, 89.1],
  816. [170.2, 62.3], [177.8, 82.7], [179.1, 79.1], [190.5, 98.2], [177.8, 84.1],
  817. [180.3, 83.2], [180.3, 83.2]
  818. ]
  819. }
  820. ],
  821. animation: true
  822. },
  823. 5 : {
  824. title : {
  825. text: '气泡图'
  826. },
  827. tooltip : {
  828. trigger: 'item'
  829. },
  830. legend: {
  831. x:'right',
  832. data:['scatter1','scatter2']
  833. },
  834. toolbox: {
  835. show : true,
  836. orient : 'vertical',
  837. x : 'right',
  838. y : 'center',
  839. feature : {
  840. dataZoom : {show: true},
  841. restore : {show: true}
  842. }
  843. },
  844. grid : {
  845. x : 55,
  846. y : 40,
  847. x2 : 35,
  848. y2 : 30
  849. },
  850. xAxis : [
  851. {
  852. type : 'value',
  853. power: 1,
  854. scale: true
  855. }
  856. ],
  857. yAxis : [
  858. {
  859. type : 'value',
  860. power: 1,
  861. scale: true
  862. }
  863. ],
  864. series : [
  865. {
  866. name:'scatter1',
  867. type:'scatter',
  868. symbolSize: function(value){
  869. return Math.round(value[2] / 5);
  870. },
  871. data: (function() {
  872. var d = [];
  873. var len = 30;
  874. while (len--) {
  875. d.push([
  876. (Math.random()*100).toFixed(2) - 0,
  877. (Math.random()*100).toFixed(2) - 0,
  878. (Math.random()*100).toFixed(2) - 0
  879. ]);
  880. }
  881. return d;
  882. })()
  883. },
  884. {
  885. name:'scatter2',
  886. type:'scatter',
  887. symbolSize: function(value){
  888. return Math.round(value[2] / 5);
  889. },
  890. data: (function() {
  891. var d = [];
  892. var len = 30;
  893. while (len--) {
  894. d.push([
  895. (Math.random()*100).toFixed(2) - 0,
  896. (Math.random()*100).toFixed(2) - 0,
  897. (Math.random()*100).toFixed(2) - 0
  898. ]);
  899. }
  900. return d;
  901. })()
  902. }
  903. ],
  904. animation: true
  905. },
  906. 6 : {
  907. title : {
  908. text: '地图',
  909. subtext: '纯属虚构',
  910. x:'center'
  911. },
  912. tooltip : {
  913. trigger: 'item'
  914. },
  915. dataRange: {
  916. min: 0,
  917. max: 1000,
  918. text:['高','低'], // 文本,默认为数值文本
  919. calculable : true
  920. },
  921. toolbox: {
  922. show : true,
  923. orient : 'vertical',
  924. x: 'right',
  925. y: 'center',
  926. feature : {
  927. mark : {show: true},
  928. dataView : {show: true, readOnly: false},
  929. restore : {show: true}
  930. }
  931. },
  932. series : [
  933. {
  934. name: '地图',
  935. type: 'map',
  936. mapType: 'china',
  937. data:[
  938. {name: '北京',value: Math.round(Math.random()*1000)},
  939. {name: '天津',value: Math.round(Math.random()*1000)},
  940. {name: '上海',value: Math.round(Math.random()*1000)},
  941. {name: '重庆',value: Math.round(Math.random()*1000)},
  942. {name: '河北',value: Math.round(Math.random()*1000)},
  943. {name: '河南',value: Math.round(Math.random()*1000)},
  944. {name: '云南',value: Math.round(Math.random()*1000)},
  945. {name: '辽宁',value: Math.round(Math.random()*1000)},
  946. {name: '黑龙江',value: Math.round(Math.random()*1000)},
  947. {name: '湖南',value: Math.round(Math.random()*1000)},
  948. {name: '安徽',value: Math.round(Math.random()*1000)},
  949. {name: '山东',value: Math.round(Math.random()*1000)},
  950. {name: '新疆',value: Math.round(Math.random()*1000)},
  951. {name: '江苏',value: Math.round(Math.random()*1000)},
  952. {name: '浙江',value: Math.round(Math.random()*1000)},
  953. {name: '江西',value: Math.round(Math.random()*1000)},
  954. {name: '湖北',value: Math.round(Math.random()*1000)},
  955. {name: '广西',value: Math.round(Math.random()*1000)},
  956. {name: '甘肃',value: Math.round(Math.random()*1000)},
  957. {name: '山西',value: Math.round(Math.random()*1000)},
  958. {name: '内蒙古',value: Math.round(Math.random()*1000)},
  959. {name: '陕西',value: Math.round(Math.random()*1000)},
  960. {name: '吉林',value: Math.round(Math.random()*1000)},
  961. {name: '福建',value: Math.round(Math.random()*1000)},
  962. {name: '贵州',value: Math.round(Math.random()*1000)},
  963. {name: '广东',value: Math.round(Math.random()*1000)},
  964. {name: '青海',value: Math.round(Math.random()*1000)},
  965. {name: '西藏',value: Math.round(Math.random()*1000)},
  966. {name: '四川',value: Math.round(Math.random()*1000)},
  967. {name: '宁夏',value: Math.round(Math.random()*1000)},
  968. {name: '海南',value: Math.round(Math.random()*1000)},
  969. {name: '台湾',value: Math.round(Math.random()*1000)},
  970. {name: '香港',value: Math.round(Math.random()*1000)},
  971. {name: '澳门',value: Math.round(Math.random()*1000)},
  972. {name: '南海诸岛',value: Math.round(Math.random()*1000)}
  973. ]
  974. }
  975. ],
  976. animation: true
  977. },
  978. 7 : {
  979. title : {
  980. text: '饼图'
  981. },
  982. tooltip : {
  983. trigger: 'item',
  984. formatter: "{a} <br/>{b} : {c} ({d}%)"
  985. },
  986. legend: {
  987. orient : 'vertical',
  988. x : 'right',
  989. data:['直接访问','邮件营销','联盟广告','视频广告','搜索引擎']
  990. },
  991. series : [
  992. {
  993. name:'访问来源',
  994. type:'pie',
  995. selectedMode: 'single',
  996. data:[
  997. {value:335, name:'直接访问'},
  998. {value:310, name:'邮件营销'},
  999. {value:234, name:'联盟广告'},
  1000. {value:135, name:'视频广告'},
  1001. {value:1548, name:'搜索引擎'}
  1002. ]
  1003. }
  1004. ],
  1005. animation: true
  1006. },
  1007. 8 : {
  1008. title : {
  1009. text: '雷达图'
  1010. },
  1011. tooltip : {
  1012. trigger: 'axis'
  1013. },
  1014. legend: {
  1015. orient : 'vertical',
  1016. x : 'right',
  1017. data:['预算分配','实际开销']
  1018. },
  1019. polar : [
  1020. {
  1021. indicator : [
  1022. { text: '销售', max: 6000},
  1023. { text: '管理', max: 16000},
  1024. { text: '信息技术', max: 30000},
  1025. { text: '客服', max: 38000},
  1026. { text: '研发', max: 52000},
  1027. { text: '市场', max: 25000}
  1028. ]
  1029. }
  1030. ],
  1031. series : [
  1032. {
  1033. name: '预算 vs 开销',
  1034. type: 'radar',
  1035. data : [
  1036. {
  1037. value : [4300, 10000, 28000, 35000, 50000, 19000],
  1038. name : '预算分配'
  1039. },
  1040. {
  1041. value : [5000, 14000, 28000, 31000, 42000, 21000],
  1042. name : '实际开销'
  1043. }
  1044. ]
  1045. }
  1046. ],
  1047. animation: true
  1048. },
  1049. 9 : {
  1050. title : {
  1051. text: '和弦图'
  1052. },
  1053. tooltip : {
  1054. trigger: 'item'
  1055. },
  1056. legend: {
  1057. orient : 'vertical',
  1058. x : 'right',
  1059. data:['group1','group2', 'group3', 'group4']
  1060. },
  1061. series : [
  1062. {
  1063. type:'chord',
  1064. data : [
  1065. {name : 'group1'},
  1066. {name : 'group2'},
  1067. {name : 'group3'},
  1068. {name : 'group4'}
  1069. ],
  1070. matrix : [
  1071. [11975, 5871, 8916, 2868],
  1072. [ 1951, 10048, 2060, 6171],
  1073. [ 8010, 16145, 8090, 8045],
  1074. [ 1013, 990, 940, 6907]
  1075. ]
  1076. }
  1077. ]
  1078. },
  1079. 10 : (function(){
  1080. var nodes = [];
  1081. var links = [];
  1082. var constMaxDepth = 2;
  1083. var constMaxChildren = 6;
  1084. var constMinChildren = 2;
  1085. var constMaxRadius = 10;
  1086. var constMinRadius = 2;
  1087. function rangeRandom(min, max) {
  1088. return Math.random() * (max - min) + min;
  1089. }
  1090. function createRandomNode(depth) {
  1091. var node = {
  1092. name : 'NODE_' + nodes.length,
  1093. value : rangeRandom(constMinRadius, constMaxRadius),
  1094. // Custom properties
  1095. id : nodes.length,
  1096. depth : depth,
  1097. category : depth === constMaxDepth ? 0 : 1
  1098. }
  1099. nodes.push(node);
  1100. return node;
  1101. }
  1102. function forceMockThreeData() {
  1103. var depth = 0;
  1104. var rootNode = {
  1105. name : 'ROOT',
  1106. value : rangeRandom(constMinRadius, constMaxRadius),
  1107. // Custom properties
  1108. id : 0,
  1109. depth : 0,
  1110. category : 2
  1111. }
  1112. nodes.push(rootNode);
  1113. function mock(parentNode, depth) {
  1114. var nChildren = Math.round(rangeRandom(constMinChildren, constMaxChildren));
  1115. for (var i = 0; i < nChildren; i++) {
  1116. var childNode = createRandomNode(depth);
  1117. links.push({
  1118. source : parentNode.id,
  1119. target : childNode.id,
  1120. weight : 1
  1121. });
  1122. if (depth < constMaxDepth) {
  1123. mock(childNode, depth + 1);
  1124. }
  1125. }
  1126. }
  1127. mock(rootNode, 0);
  1128. }
  1129. forceMockThreeData();
  1130. return {
  1131. title : {
  1132. text: '力导向布局图'
  1133. },
  1134. tooltip : {
  1135. trigger: 'item',
  1136. formatter: '{a} : {b}'
  1137. },
  1138. legend: {
  1139. orient : 'vertical',
  1140. x : 'right',
  1141. data:['叶子节点','非叶子节点', '根节点']
  1142. },
  1143. series : [
  1144. {
  1145. type:'force',
  1146. name : "Force tree",
  1147. categories : [
  1148. { name: '叶子节点' },
  1149. { name: '非叶子节点' },
  1150. { name: '根节点' }
  1151. ],
  1152. minRadius : constMinRadius,
  1153. maxRadius : constMaxRadius,
  1154. nodes : nodes,
  1155. links : links
  1156. }
  1157. ],
  1158. animation: true
  1159. }
  1160. })()
  1161. };
  1162. var curSwitch = true;
  1163. var docSwidth = document.getElementById('doc-switch');
  1164. var docContiner = document.getElementById('doc-continer');
  1165. var docConHeight = docContiner.offsetHeight;
  1166. docContiner.style.height = docConHeight + 'px';
  1167. function docSwitch(){
  1168. curSwitch = !curSwitch;
  1169. if (curSwitch) {
  1170. docContiner.style.height = docConHeight + 'px';
  1171. docSwidth.innerHTML = '- 文档图示';
  1172. }
  1173. else {
  1174. docContiner.style.height = '30px';
  1175. docSwidth.innerHTML = '+ 文档图示';
  1176. }
  1177. return false;
  1178. }
  1179. window.onload = function(){
  1180. setTimeout(function(){
  1181. curSwitch = true;
  1182. docSwitch();
  1183. }, 1000);
  1184. };