chart-echart.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327
  1. /*=========================================================================================
  2. File Name: chart-echart.js
  3. Description: echarts examples
  4. ----------------------------------------------------------------------------------------
  5. Item name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template
  6. Author: PIXINVENT
  7. Author URL: http://www.themeforest.net/user/pixinvent
  8. ==========================================================================================*/
  9. $(window).on("load", function(){
  10. var $dark_green = '#4ea397';
  11. var $green = '#22c3aa';
  12. var $light_green = '#7bd9a5';
  13. var $lighten_green = '#a8e7d2';
  14. // Bar chart
  15. // ------------------------------
  16. var barChart = echarts.init(document.getElementById('bar-chart'));
  17. // var i;
  18. function randomize() {
  19. return Math.round(300 + Math.random() * 700) / 10
  20. };
  21. var barChartoption = {
  22. legend: {},
  23. tooltip: {},
  24. dataset: {
  25. source: [
  26. ['product', '2015', '2016', '2017'],
  27. ['Matcha Latte', randomize(), randomize(), randomize()],
  28. ['Milk Tea', randomize(), randomize(), randomize()],
  29. ['Cheese Cocoa', randomize(), randomize(), randomize()],
  30. ['Walnut Brownie', randomize(), randomize(), randomize()],
  31. ],
  32. },
  33. xAxis: {
  34. type: 'category',
  35. splitLine: { show: true },
  36. },
  37. yAxis: {},
  38. // Declare several bar series, each will be mapped
  39. // to a column of dataset.source by default.
  40. series: [
  41. {
  42. type: 'bar',
  43. itemStyle: {color: $dark_green},
  44. },
  45. {
  46. type: 'bar',
  47. itemStyle: {color: $green},
  48. },
  49. {
  50. type: 'bar',
  51. itemStyle: {color: $light_green},
  52. }
  53. ]
  54. };
  55. barChart.setOption(barChartoption);
  56. // Line chart
  57. // ------------------------------
  58. var lineChart = echarts.init(document.getElementById('line-chart'));
  59. data = [["2000-06-05",116],["2000-06-06",129],["2000-06-07",135],["2000-06-08",86],["2000-06-09",73],["2000-06-10",85],["2000-06-11",73],["2000-06-12",68],["2000-06-13",92],["2000-06-14",130],["2000-06-15",245],["2000-06-16",139],["2000-06-17",115],["2000-06-18",111],["2000-06-19",309],["2000-06-20",206],["2000-06-21",137],["2000-06-22",128],["2000-06-23",85],["2000-06-24",94],["2000-06-25",71],["2000-06-26",106],["2000-06-27",84],["2000-06-28",93],["2000-06-29",85],["2000-06-30",73],["2000-07-01",83],["2000-07-02",125],["2000-07-03",107],["2000-07-04",82],["2000-07-05",44],["2000-07-06",72],["2000-07-07",106],["2000-07-08",107],["2000-07-09",66],["2000-07-10",91],["2000-07-11",92],["2000-07-12",113],["2000-07-13",107],["2000-07-14",131],["2000-07-15",111],["2000-07-16",64],["2000-07-17",69],["2000-07-18",88],["2000-07-19",77],["2000-07-20",83],["2000-07-21",111],["2000-07-22",57],["2000-07-23",55],["2000-07-24",60]];
  60. var dateList = data.map(function (item) {
  61. return item[0];
  62. });
  63. var valueList = data.map(function (item) {
  64. return item[1];
  65. });
  66. var lineChartoption = {
  67. // Make gradient line here
  68. visualMap: [{
  69. show: false,
  70. type: 'continuous',
  71. seriesIndex: 0,
  72. min: 0,
  73. max: 400,
  74. color: [$dark_green, $lighten_green]
  75. }],
  76. tooltip: {
  77. trigger: 'axis'
  78. },
  79. xAxis: [{
  80. data: dateList,
  81. splitLine: {show: true}
  82. }],
  83. yAxis: [{
  84. splitLine: {show: false}
  85. }],
  86. series: [{
  87. type: 'line',
  88. showSymbol: false,
  89. data: valueList
  90. }]
  91. };
  92. lineChart.setOption(lineChartoption);
  93. // Pie chart
  94. // ------------------------------
  95. var pieChart = echarts.init(document.getElementById('pie-chart'));
  96. var pieChartoption = {
  97. tooltip : {
  98. trigger: 'item',
  99. formatter: "{a} <br/>{b} : {c} ({d}%)"
  100. },
  101. legend: {
  102. orient: 'vertical',
  103. left: 'left',
  104. data: ['Direct interview', 'Email marketing', 'Alliance advertising', 'Video ad', 'Search engine']
  105. },
  106. series : [
  107. {
  108. name: 'Access source',
  109. type: 'pie',
  110. radius : '55%',
  111. center: ['50%', '60%'],
  112. color: ['#FF9F43','#28C76F','#EA5455','#87ceeb','#7367F0'],
  113. data: [
  114. {value: 335, name: 'Direct interview'},
  115. {value: 310, name: 'Email marketing'},
  116. {value: 234, name: 'Alliance advertising'},
  117. {value: 135, name: 'Video ad'},
  118. {value: 1548, name: 'Search engine'}
  119. ],
  120. itemStyle: {
  121. emphasis: {
  122. shadowBlur: 10,
  123. shadowOffsetX: 0,
  124. shadowColor: 'rgba(0, 0, 0, 0.5)'
  125. }
  126. }
  127. }
  128. ],
  129. };
  130. pieChart.setOption(pieChartoption);
  131. // Scatter chart
  132. // ------------------------------
  133. var scatterChart = echarts.init(document.getElementById('scatter-chart'));
  134. var data = [
  135. [[28604,77,17096869,'Australia',1990],[31163,77.4,27662440,'Canada',1990],[1516,68,1154605773,'China',1990],[13670,74.7,10582082,'Cuba',1990],[28599,75,4986705,'Finland',1990],[29476,77.1,56943299,'France',1990],[31476,75.4,78958237,'Germany',1990],[28666,78.1,254830,'Iceland',1990],[1777,57.7,870601776,'India',1990],[29550,79.1,122249285,'Japan',1990],[2076,67.9,20194354,'North Korea',1990],[12087,72,42972254,'South Korea',1990],[24021,75.4,3397534,'New Zealand',1990],[43296,76.8,4240375,'Norway',1990],[10088,70.8,38195258,'Poland',1990],[19349,69.6,147568552,'Russia',1990],[10670,67.3,53994605,'Turkey',1990],[26424,75.7,57110117,'United Kingdom',1990],[37062,75.4,252847810,'United States',1990]],
  136. [[44056,81.8,23968973,'Australia',2015],[43294,81.7,35939927,'Canada',2015],[13334,76.9,1376048943,'China',2015],[21291,78.5,11389562,'Cuba',2015],[38923,80.8,5503457,'Finland',2015],[37599,81.9,64395345,'France',2015],[44053,81.1,80688545,'Germany',2015],[42182,82.8,329425,'Iceland',2015],[5903,66.8,1311050527,'India',2015],[36162,83.5,126573481,'Japan',2015],[1390,71.4,25155317,'North Korea',2015],[34644,80.7,50293439,'South Korea',2015],[34186,80.6,4528526,'New Zealand',2015],[64304,81.6,5210967,'Norway',2015],[24787,77.3,38611794,'Poland',2015],[23038,73.13,143456918,'Russia',2015],[19360,76.5,78665830,'Turkey',2015],[38225,81.4,64715810,'United Kingdom',2015],[53354,79.1,321773631,'United States',2015]]
  137. ];
  138. var scatterChartoption = {
  139. legend: {
  140. right: 10,
  141. data: ['1990', '2015']
  142. },
  143. xAxis: {
  144. splitLine: {
  145. lineStyle: {
  146. type: 'dashed'
  147. }
  148. }
  149. },
  150. yAxis: {
  151. splitLine: {
  152. lineStyle: {
  153. type: 'dashed'
  154. }
  155. },
  156. scale: true
  157. },
  158. series: [{
  159. name: '1990',
  160. data: data[0],
  161. type: 'scatter',
  162. symbolSize: function (data) {
  163. return Math.sqrt(data[2]) / 5e2;
  164. },
  165. label: {
  166. emphasis: {
  167. show: true,
  168. formatter: function (param) {
  169. return param.data[3];
  170. },
  171. position: 'top'
  172. }
  173. },
  174. itemStyle: {
  175. normal: {
  176. shadowBlur: 10,
  177. shadowColor: 'rgba(120, 36, 50, 0.5)',
  178. shadowOffsetY: 5,
  179. color: new echarts.graphic.RadialGradient(0.4, 0.3, 1, [{
  180. offset: 0,
  181. color: 'rgb(251, 118, 123)'
  182. }, {
  183. offset: 1,
  184. color: 'rgb(204, 46, 72)'
  185. }])
  186. }
  187. }
  188. }, {
  189. name: '2015',
  190. data: data[1],
  191. type: 'scatter',
  192. symbolSize: function (data) {
  193. return Math.sqrt(data[2]) / 5e2;
  194. },
  195. label: {
  196. emphasis: {
  197. show: true,
  198. formatter: function (param) {
  199. return param.data[3];
  200. },
  201. position: 'top'
  202. }
  203. },
  204. itemStyle: {
  205. normal: {
  206. shadowBlur: 10,
  207. shadowColor: 'rgba(25, 100, 150, 0.5)',
  208. shadowOffsetY: 5,
  209. color: new echarts.graphic.RadialGradient(0.4, 0.3, 1, [{
  210. offset: 0,
  211. color: 'rgb(129, 227, 238)'
  212. }, {
  213. offset: 1,
  214. color: 'rgb(25, 183, 207)'
  215. }])
  216. }
  217. }
  218. }]
  219. };
  220. scatterChart.setOption(scatterChartoption);
  221. // Polar chart
  222. // ------------------------------
  223. var polarChart = echarts.init(document.getElementById('polar-chart'));
  224. var data = [];
  225. for (var i = 0; i <= 360; i++) {
  226. var t = i / 180 * Math.PI;
  227. var r = Math.sin(2 * t) * Math.cos(2 * t);
  228. data.push([r, i]);
  229. }
  230. var polarChartoption = {
  231. legend: {
  232. data: ['line']
  233. },
  234. polar: {
  235. center: ['50%', '54%']
  236. },
  237. tooltip: {
  238. trigger: 'axis',
  239. axisPointer: {
  240. type: 'cross'
  241. }
  242. },
  243. angleAxis: {
  244. type: 'value',
  245. startAngle: 0
  246. },
  247. radiusAxis: {
  248. min: 0
  249. },
  250. series: [{
  251. coordinateSystem: 'polar',
  252. name: 'line',
  253. type: 'line',
  254. showSymbol: false,
  255. data: data
  256. }],
  257. animationDuration: 2000
  258. };
  259. polarChart.setOption(polarChartoption);
  260. // Radar chart
  261. // ------------------------------
  262. var radarChart = echarts.init(document.getElementById('radar-chart'));
  263. var radarChartoption = {
  264. tooltip: {},
  265. radar: {
  266. indicator: [
  267. { name: 'Attack', max: 20 },
  268. { name: 'Defensive', max: 20 },
  269. { name: 'Speed', max: 20 },
  270. { name: 'Power', max: 20 },
  271. { name: 'Endurance', max: 20 },
  272. { name: 'Agile', max: 20 }
  273. ]
  274. },
  275. series: [{
  276. name: 'Ability value',
  277. type: 'radar',
  278. data: [{ value: [19, 9, 18, 16, 16, 20] }]
  279. }]
  280. };
  281. radarChart.setOption(radarChartoption);
  282. });