visualMap-continuous.html 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671
  1. <html>
  2. <head>
  3. <meta charset="utf-8">
  4. <script src="esl.js"></script>
  5. <script src="config.js"></script>
  6. <link rel="stylesheet" href="reset.css" />
  7. </head>
  8. <body>
  9. <style>
  10. .split {
  11. line-height: 60px;
  12. height: 60px;
  13. background: #ddd;
  14. text-align: center;
  15. font-weight: bold;
  16. font-size: 20px;
  17. }
  18. .main {
  19. height: 80%;
  20. }
  21. </style>
  22. <div class="split">Color Hue</div>
  23. <div id="main1" class="main"></div>
  24. <div class="split">Color List</div>
  25. <div id="main2" class="main"></div>
  26. <div class="split">Map</div>
  27. <div id="main3" class="main"></div>
  28. <div class="split">Stacked Bar (and inversed)</div>
  29. <div id="main4" class="main"></div>
  30. <script type="text/javascript">
  31. require([
  32. 'echarts',
  33. 'echarts/chart/bar',
  34. 'echarts/component/grid',
  35. 'echarts/component/visualMapContinuous'
  36. ], function (echarts) {
  37. var main = document.getElementById('main1');
  38. if (!main) {
  39. return;
  40. }
  41. var chart = echarts.init(main);
  42. var data0 = [];
  43. var MAX_DIM1 = 100;
  44. var itemStyle = {
  45. normal: {
  46. opacity: 0.8,
  47. shadowBlur: 10,
  48. shadowOffsetX: 0,
  49. shadowOffsetY: 0,
  50. shadowColor: 'rgba(0, 0, 0, 0.3)'
  51. }
  52. };
  53. var last = 60;
  54. var lastDelta = 20;
  55. for (var i = 0; i < MAX_DIM1; i++) {
  56. lastDelta += (Math.random() - 0.5) * 15;
  57. data0.push([
  58. i,
  59. last += lastDelta
  60. ]);
  61. }
  62. chart.setOption({
  63. grid: {
  64. top: 100,
  65. bottom: 100
  66. },
  67. xAxis: {
  68. type: 'value',
  69. splitLine: {
  70. show: false
  71. }
  72. },
  73. yAxis: {
  74. type: 'value',
  75. splitLine: {
  76. show: false
  77. }
  78. },
  79. visualMap: [
  80. {
  81. show: true,
  82. left: 'center',
  83. bottom: 20,
  84. orient: 'horizontal',
  85. itemWidth: 20,
  86. itemHeight: 200,
  87. min: 0,
  88. max: MAX_DIM1,
  89. calculable: true,
  90. range: [5, 95],
  91. dimension: 0,
  92. inRange: {
  93. colorHue: [0, 300],
  94. colorLightness: 0.35,
  95. colorSaturation: 1
  96. },
  97. outOfRange: {
  98. color: '#eee'
  99. }
  100. }
  101. ],
  102. series: [
  103. {
  104. name: 'bar',
  105. type: 'bar',
  106. barMaxWidth: 10,
  107. itemStyle: itemStyle,
  108. data: data0
  109. }
  110. ]
  111. });
  112. })
  113. </script>
  114. <script type="text/javascript">
  115. require([
  116. 'echarts',
  117. 'echarts/chart/scatter',
  118. 'echarts/component/legend',
  119. 'echarts/component/grid',
  120. 'echarts/component/visualMapContinuous'
  121. ], function (echarts) {
  122. var main = document.getElementById('main2');
  123. if (!main) {
  124. return;
  125. }
  126. var chart = echarts.init(main);
  127. var data0 = [];
  128. var data1 = [];
  129. var MAX_DIM2 = 300;
  130. var MAX_DIM3 = 20000;
  131. var itemStyle = {
  132. normal: {
  133. opacity: 0.8,
  134. shadowBlur: 10,
  135. shadowOffsetX: 0,
  136. shadowOffsetY: 0,
  137. shadowColor: 'rgba(0, 0, 0, 0.5)'
  138. }
  139. };
  140. for (var i = 0; i < 60; i++) {
  141. data0.push(genDataItem());
  142. data1.push(genDataItem());
  143. }
  144. function genDataItem() {
  145. return [
  146. Math.random() * 5,
  147. Math.random() * 4,
  148. Math.random() * MAX_DIM2,
  149. Math.random() * MAX_DIM3
  150. ];
  151. }
  152. chart.setOption({
  153. color: ['#555', '#555'],
  154. legend: {
  155. top: 20,
  156. data: ['scatter0', 'scatter1']
  157. },
  158. grid: {
  159. top: 100,
  160. bottom: 60,
  161. left: 150
  162. },
  163. xAxis: {
  164. type: 'value',
  165. splitLine: {
  166. show: false
  167. }
  168. },
  169. yAxis: {
  170. type: 'value',
  171. splitLine: {
  172. show: false
  173. }
  174. },
  175. visualMap: [
  176. {
  177. show: true,
  178. top: 'center',
  179. left: 30,
  180. itemHeight: 400,
  181. min: 0,
  182. max: MAX_DIM2,
  183. calculable: true,
  184. dimension: 2,
  185. range: [15, 278],
  186. inRange: {
  187. color: ['blue', 'orange', 'yellow']
  188. },
  189. outOfRange: {
  190. color: '#ddd'
  191. }
  192. },
  193. {
  194. show: false,
  195. min: 0,
  196. max: MAX_DIM3,
  197. dimension: 3,
  198. inRange: {
  199. symbolSize: [3, 40]
  200. },
  201. outOfRange: {
  202. symbolSize: [3, 40]
  203. }
  204. }
  205. ],
  206. series: [
  207. {
  208. name: 'scatter0',
  209. type: 'scatter',
  210. symbol: 'circle',
  211. itemStyle: itemStyle,
  212. data: data0
  213. },
  214. {
  215. name: 'scatter1',
  216. type: 'scatter',
  217. symbol: 'diamond',
  218. itemStyle: itemStyle,
  219. data: data1
  220. }
  221. ]
  222. });
  223. })
  224. </script>
  225. <script type="text/javascript">
  226. require([
  227. 'echarts',
  228. 'echarts/chart/map',
  229. 'echarts/component/legend',
  230. 'echarts/component/visualMapContinuous',
  231. ], function (echarts) {
  232. require(['map/js/world'], function () {
  233. renderWorldMap(echarts);
  234. });
  235. });
  236. function renderWorldMap(echarts) {
  237. var main = document.getElementById('main3');
  238. if (!main) {
  239. return;
  240. }
  241. var chart = echarts.init(main);
  242. option = {
  243. title: {
  244. text: 'World Population (2010)',
  245. subtext: 'from United Nations, Total population, both sexes combined, as of 1 July (thousands)',
  246. sublink: 'http://esa.un.org/wpp/Excel-Data/population.htm',
  247. left: 'center',
  248. top: 'top'
  249. },
  250. tooltip: {
  251. trigger: 'item',
  252. formatter: function (params) {
  253. var value = (params.value + '').split('.');
  254. value = value[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g, '$1,')
  255. + '.' + value[1];
  256. return params.seriesName + '<br/>' + params.name + ' : ' + value;
  257. }
  258. },
  259. toolbox: {
  260. show: true,
  261. orient: 'vertical',
  262. left: 'right',
  263. top: 'center',
  264. feature: {
  265. dataView: {readOnly: false},
  266. restore: {},
  267. saveAsImage: {}
  268. }
  269. },
  270. visualMap: {
  271. min: 0,
  272. max: 1000000,
  273. left: 10,
  274. bottom: 70,
  275. itemHeight: 200,
  276. hoverLinkDataSize: 100000,
  277. text: ['High', 'Low'],
  278. // realtime: false,
  279. calculable: true,
  280. color: ['orangered', 'yellow', 'lightskyblue']
  281. },
  282. series: [
  283. {
  284. name: 'World Population (2010)',
  285. type: 'map',
  286. mapType: 'world',
  287. roam: true,
  288. itemStyle:{
  289. emphasis:{label:{show:true}}
  290. },
  291. data:[
  292. {name: 'Afghanistan', value: 28397.812},
  293. {name: 'Angola', value: 19549.124},
  294. {name: 'Albania', value: 3150.143},
  295. {name: 'United Arab Emirates', value: 8441.537},
  296. {name: 'Argentina', value: 40374.224},
  297. {name: 'Armenia', value: 2963.496},
  298. {name: 'French Southern and Antarctic Lands', value: 268.065},
  299. {name: 'Australia', value: 22404.488},
  300. {name: 'Austria', value: 8401.924},
  301. {name: 'Azerbaijan', value: 9094.718},
  302. {name: 'Burundi', value: 9232.753},
  303. {name: 'Belgium', value: 10941.288},
  304. {name: 'Benin', value: 9509.798},
  305. {name: 'Burkina Faso', value: 15540.284},
  306. {name: 'Bangladesh', value: 151125.475},
  307. {name: 'Bulgaria', value: 7389.175},
  308. {name: 'The Bahamas', value: 66402.316},
  309. {name: 'Bosnia and Herzegovina', value: 3845.929},
  310. {name: 'Belarus', value: 9491.07},
  311. {name: 'Belize', value: 308.595},
  312. {name: 'Bermuda', value: 64.951},
  313. {name: 'Bolivia', value: 716.939},
  314. {name: 'Brazil', value: 195210.154},
  315. {name: 'Brunei', value: 27.223},
  316. {name: 'Bhutan', value: 716.939},
  317. {name: 'Botswana', value: 1969.341},
  318. {name: 'Central African Republic', value: 4349.921},
  319. {name: 'Canada', value: 34126.24},
  320. {name: 'Switzerland', value: 7830.534},
  321. {name: 'Chile', value: 17150.76},
  322. {name: 'China', value: 1359821.465},
  323. {name: 'Ivory Coast', value: 60508.978},
  324. {name: 'Cameroon', value: 20624.343},
  325. {name: 'Democratic Republic of the Congo', value: 62191.161},
  326. {name: 'Republic of the Congo', value: 3573.024},
  327. {name: 'Colombia', value: 46444.798},
  328. {name: 'Costa Rica', value: 4669.685},
  329. {name: 'Cuba', value: 11281.768},
  330. {name: 'Northern Cyprus', value: 1.468},
  331. {name: 'Cyprus', value: 1103.685},
  332. {name: 'Czech Republic', value: 10553.701},
  333. {name: 'Germany', value: 83017.404},
  334. {name: 'Djibouti', value: 834.036},
  335. {name: 'Denmark', value: 5550.959},
  336. {name: 'Dominican Republic', value: 10016.797},
  337. {name: 'Algeria', value: 37062.82},
  338. {name: 'Ecuador', value: 15001.072},
  339. {name: 'Egypt', value: 78075.705},
  340. {name: 'Eritrea', value: 5741.159},
  341. {name: 'Spain', value: 46182.038},
  342. {name: 'Estonia', value: 1298.533},
  343. {name: 'Ethiopia', value: 87095.281},
  344. {name: 'Finland', value: 5367.693},
  345. {name: 'Fiji', value: 860.559},
  346. {name: 'Falkland Islands', value: 49.581},
  347. {name: 'France', value: 63230.866},
  348. {name: 'Gabon', value: 1556.222},
  349. {name: 'United Kingdom', value: 62066.35},
  350. {name: 'Georgia', value: 4388.674},
  351. {name: 'Ghana', value: 24262.901},
  352. {name: 'Guinea', value: 10876.033},
  353. {name: 'Gambia', value: 1680.64},
  354. {name: 'Guinea Bissau', value: 10876.033},
  355. {name: 'Equatorial Guinea', value: 696.167},
  356. {name: 'Greece', value: 11109.999},
  357. {name: 'Greenland', value: 56.546},
  358. {name: 'Guatemala', value: 14341.576},
  359. {name: 'French Guiana', value: 231.169},
  360. {name: 'Guyana', value: 786.126},
  361. {name: 'Honduras', value: 7621.204},
  362. {name: 'Croatia', value: 4338.027},
  363. {name: 'Haiti', value: 9896.4},
  364. {name: 'Hungary', value: 10014.633},
  365. {name: 'Indonesia', value: 240676.485},
  366. {name: 'India', value: 1205624.648},
  367. {name: 'Ireland', value: 4467.561},
  368. {name: 'Iran', value: 240676.485},
  369. {name: 'Iraq', value: 30962.38},
  370. {name: 'Iceland', value: 318.042},
  371. {name: 'Israel', value: 7420.368},
  372. {name: 'Italy', value: 60508.978},
  373. {name: 'Jamaica', value: 2741.485},
  374. {name: 'Jordan', value: 6454.554},
  375. {name: 'Japan', value: 127352.833},
  376. {name: 'Kazakhstan', value: 15921.127},
  377. {name: 'Kenya', value: 40909.194},
  378. {name: 'Kyrgyzstan', value: 5334.223},
  379. {name: 'Cambodia', value: 14364.931},
  380. {name: 'South Korea', value: 51452.352},
  381. {name: 'Kosovo', value: 97.743},
  382. {name: 'Kuwait', value: 2991.58},
  383. {name: 'Laos', value: 6395.713},
  384. {name: 'Lebanon', value: 4341.092},
  385. {name: 'Liberia', value: 3957.99},
  386. {name: 'Libya', value: 6040.612},
  387. {name: 'Sri Lanka', value: 20758.779},
  388. {name: 'Lesotho', value: 2008.921},
  389. {name: 'Lithuania', value: 3068.457},
  390. {name: 'Luxembourg', value: 507.885},
  391. {name: 'Latvia', value: 2090.519},
  392. {name: 'Morocco', value: 31642.36},
  393. {name: 'Moldova', value: 103.619},
  394. {name: 'Madagascar', value: 21079.532},
  395. {name: 'Mexico', value: 117886.404},
  396. {name: 'Macedonia', value: 507.885},
  397. {name: 'Mali', value: 13985.961},
  398. {name: 'Myanmar', value: 51931.231},
  399. {name: 'Montenegro', value: 620.078},
  400. {name: 'Mongolia', value: 2712.738},
  401. {name: 'Mozambique', value: 23967.265},
  402. {name: 'Mauritania', value: 3609.42},
  403. {name: 'Malawi', value: 15013.694},
  404. {name: 'Malaysia', value: 28275.835},
  405. {name: 'Namibia', value: 2178.967},
  406. {name: 'New Caledonia', value: 246.379},
  407. {name: 'Niger', value: 15893.746},
  408. {name: 'Nigeria', value: 159707.78},
  409. {name: 'Nicaragua', value: 5822.209},
  410. {name: 'Netherlands', value: 16615.243},
  411. {name: 'Norway', value: 4891.251},
  412. {name: 'Nepal', value: 26846.016},
  413. {name: 'New Zealand', value: 4368.136},
  414. {name: 'Oman', value: 2802.768},
  415. {name: 'Pakistan', value: 173149.306},
  416. {name: 'Panama', value: 3678.128},
  417. {name: 'Peru', value: 29262.83},
  418. {name: 'Philippines', value: 93444.322},
  419. {name: 'Papua New Guinea', value: 6858.945},
  420. {name: 'Poland', value: 38198.754},
  421. {name: 'Puerto Rico', value: 3709.671},
  422. {name: 'North Korea', value: 1.468},
  423. {name: 'Portugal', value: 10589.792},
  424. {name: 'Paraguay', value: 6459.721},
  425. {name: 'Qatar', value: 1749.713},
  426. {name: 'Romania', value: 21861.476},
  427. {name: 'Russia', value: 21861.476},
  428. {name: 'Rwanda', value: 10836.732},
  429. {name: 'Western Sahara', value: 514.648},
  430. {name: 'Saudi Arabia', value: 27258.387},
  431. {name: 'Sudan', value: 35652.002},
  432. {name: 'South Sudan', value: 9940.929},
  433. {name: 'Senegal', value: 12950.564},
  434. {name: 'Solomon Islands', value: 526.447},
  435. {name: 'Sierra Leone', value: 5751.976},
  436. {name: 'El Salvador', value: 6218.195},
  437. {name: 'Somaliland', value: 9636.173},
  438. {name: 'Somalia', value: 9636.173},
  439. {name: 'Republic of Serbia', value: 3573.024},
  440. {name: 'Suriname', value: 524.96},
  441. {name: 'Slovakia', value: 5433.437},
  442. {name: 'Slovenia', value: 2054.232},
  443. {name: 'Sweden', value: 9382.297},
  444. {name: 'Swaziland', value: 1193.148},
  445. {name: 'Syria', value: 7830.534},
  446. {name: 'Chad', value: 11720.781},
  447. {name: 'Togo', value: 6306.014},
  448. {name: 'Thailand', value: 66402.316},
  449. {name: 'Tajikistan', value: 7627.326},
  450. {name: 'Turkmenistan', value: 5041.995},
  451. {name: 'East Timor', value: 10016.797},
  452. {name: 'Trinidad and Tobago', value: 1328.095},
  453. {name: 'Tunisia', value: 10631.83},
  454. {name: 'Turkey', value: 72137.546},
  455. {name: 'United Republic of Tanzania', value: 44973.33},
  456. {name: 'Uganda', value: 33987.213},
  457. {name: 'Ukraine', value: 46050.22},
  458. {name: 'Uruguay', value: 3371.982},
  459. {name: 'United States of America', value: 312247.116},
  460. {name: 'Uzbekistan', value: 27769.27},
  461. {name: 'Venezuela', value: 236.299},
  462. {name: 'Vietnam', value: 89047.397},
  463. {name: 'Vanuatu', value: 236.299},
  464. {name: 'West Bank', value: 13.565},
  465. {name: 'Yemen', value: 22763.008},
  466. {name: 'South Africa', value: 51452.352},
  467. {name: 'Zambia', value: 13216.985},
  468. {name: 'Zimbabwe', value: 13076.978}
  469. ]
  470. }
  471. ]
  472. };
  473. chart.setOption(option);
  474. }
  475. </script>
  476. <script type="text/javascript">
  477. require([
  478. 'echarts',
  479. 'echarts/chart/bar',
  480. 'echarts/chart/line',
  481. 'echarts/component/legend',
  482. 'echarts/component/grid',
  483. 'echarts/component/tooltip',
  484. 'echarts/component/toolbox',
  485. 'zrender/vml/vml'
  486. ], function (echarts) {
  487. var main = document.getElementById('main4');
  488. if (!main) {
  489. return;
  490. }
  491. var chart = echarts.init(main);
  492. var xAxisData = [];
  493. var data1 = [];
  494. var data2 = [];
  495. var data3 = [];
  496. var data4 = [];
  497. for (var i = 0; i < 10; i++) {
  498. xAxisData.push('Class' + i);
  499. data1.push((Math.random() * 2).toFixed(2));
  500. data2.push(-Math.random().toFixed(2));
  501. data3.push((Math.random() * 5).toFixed(2));
  502. data4.push((Math.random() + 0.3).toFixed(2));
  503. }
  504. var itemStyle = {
  505. normal: {
  506. label: {
  507. show: true,
  508. position: 'outside'
  509. }
  510. },
  511. emphasis: {
  512. label: {
  513. position: 'outside'
  514. },
  515. barBorderWidth: 1,
  516. shadowBlur: 10,
  517. shadowOffsetX: 0,
  518. shadowOffsetY: 0,
  519. shadowColor: 'rgba(0,0,0,0.5)'
  520. }
  521. };
  522. chart.setOption({
  523. backgroundColor: '#eee',
  524. legend: {
  525. data: ['bar', 'bar2', 'bar3', 'bar4'],
  526. align: 'left'
  527. },
  528. toolbox: {
  529. feature: {
  530. magicType: {
  531. type: ['line', 'bar', 'stack', 'tiled']
  532. },
  533. dataView: {}
  534. }
  535. },
  536. tooltip: {},
  537. xAxis: {
  538. data: xAxisData,
  539. name: 'X Axis',
  540. silent: false,
  541. axisLine: {onZero: true},
  542. splitLine: {show: false},
  543. splitArea: {show: false}
  544. },
  545. yAxis: {
  546. inverse: true,
  547. splitArea: {show: false}
  548. },
  549. grid: {
  550. left: 100
  551. },
  552. visualMap: {
  553. type: 'continuous',
  554. dimension: 1,
  555. text: ['High', 'Low'],
  556. inverse: true,
  557. itemHeight: 200,
  558. calculable: true,
  559. min: -2,
  560. max: 6,
  561. top: 60,
  562. left: 10
  563. },
  564. series: [
  565. {
  566. name: 'bar',
  567. type: 'bar',
  568. stack: 'one',
  569. itemStyle: itemStyle,
  570. data: data1
  571. },
  572. {
  573. name: 'bar2',
  574. type: 'bar',
  575. stack: 'one',
  576. itemStyle: itemStyle,
  577. data: data2
  578. },
  579. {
  580. name: 'bar3',
  581. type: 'bar',
  582. stack: 'two',
  583. itemStyle: itemStyle,
  584. data: data3
  585. },
  586. {
  587. name: 'bar4',
  588. type: 'bar',
  589. stack: 'two',
  590. itemStyle: itemStyle,
  591. data: data4
  592. }
  593. ]
  594. });
  595. // Check setOption at the second time.
  596. chart.setOption({
  597. visualMap: {
  598. outOfRange: {color: '#aaa'}
  599. }
  600. });
  601. });
  602. </script>
  603. </body>
  604. </html>