index.js 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505
  1. //
  2. $(function () {
  3. echart_1();
  4. echart_2();
  5. echart_3();
  6. function echart_1() {
  7. // 基于准备好的dom,初始化echarts实例
  8. var myChart = echarts.init(document.getElementById('chart_1'));
  9. var xAxisData = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12','13','14','15','16','17','18','19','20'];
  10. var legendData = ['3月', '4月'];
  11. var title = "2018年度3月,4月销售额";//标题
  12. var serieData = [];
  13. var metaDate = [
  14. [1200, 1400, 1000, 1200, 3000, 2300, 1300, 1700, 1400, 1200, 3000, 2300, 2400, 2100, 2800, 3100, 3000, 2800, 2700, 2900],
  15. [2000, 1200, 3000, 2000, 1700, 3000, 2000, 1800, 2000, 1900, 3000, 2000, 2500, 2200, 2600, 2700, 2900, 3000, 3200, 3100]
  16. ]
  17. for (var v = 0; v < legendData.length; v++) {
  18. var serie = {
  19. name: legendData[v],
  20. type: 'line',
  21. symbol: "circle",
  22. symbolSize: 10,
  23. data: metaDate[v]
  24. };
  25. serieData.push(serie);
  26. }
  27. var colors = ["#036BC8", "#FFF", "#5EBEFC", "#2EF7F3"];
  28. var option = {
  29. // backgroundColor: '#0f375f',
  30. title: {
  31. text: title,
  32. textAlign: 'left',
  33. textStyle: {
  34. color: "#fff",
  35. fontSize: "12",
  36. fontWeight: "bold"
  37. }
  38. },
  39. legend: {
  40. show: true,
  41. left: "center",
  42. data: legendData,
  43. y: "5%",
  44. itemWidth: 18,
  45. itemHeight: 12,
  46. textStyle: {
  47. color: "#fff",
  48. fontSize: 14
  49. },
  50. },
  51. toolbox: {
  52. orient: 'vertical',
  53. right: '1%',
  54. top: '20%',
  55. iconStyle: {
  56. color: '#fff',
  57. borderColor: '#fff',
  58. borderWidth: 1,
  59. },
  60. feature: {
  61. saveAsImage: {},
  62. magicType: {
  63. // show: true,
  64. type: ['line','bar','stack','tiled']
  65. }
  66. }
  67. },
  68. color: colors,
  69. grid: {
  70. left: '2%',
  71. top: "12%",
  72. bottom: "5%",
  73. right: "5%",
  74. containLabel: true
  75. },
  76. tooltip: {
  77. trigger: 'axis',
  78. axisPointer: {
  79. type: 'shadow'
  80. },
  81. },
  82. xAxis: [{
  83. type: 'category',
  84. axisLine: {
  85. show: true,
  86. lineStyle: {
  87. color: '#6173A3'
  88. }
  89. },
  90. axisLabel: {
  91. interval: 0,
  92. textStyle: {
  93. color: '#9ea7c4',
  94. fontSize: 12
  95. }
  96. },
  97. axisTick: {
  98. show: false
  99. },
  100. data: xAxisData,
  101. }, ],
  102. yAxis: [{
  103. axisTick: {
  104. show: false
  105. },
  106. splitLine: {
  107. show: false
  108. },
  109. axisLabel: {
  110. textStyle: {
  111. color: '#9ea7c4',
  112. fontSize: 12
  113. }
  114. },
  115. axisLine: {
  116. show: true,
  117. lineStyle: {
  118. color: '#6173A3'
  119. }
  120. },
  121. }, ],
  122. series: serieData
  123. };
  124. // 使用刚指定的配置项和数据显示图表。
  125. myChart.setOption(option);
  126. window.addEventListener("resize", function () {
  127. myChart.resize();
  128. });
  129. }
  130. function echart_2() {
  131. // 基于准备好的dom,初始化echarts实例
  132. var myChart = echarts.init(document.getElementById('chart_2'));
  133. var giftImageUrl = "data:image/png;base64,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";
  134. myChart.setOption({
  135. graphic: {
  136. elements: [{
  137. type: 'image',
  138. style: {
  139. image: giftImageUrl,
  140. width: 30,
  141. height: 30
  142. },
  143. left: '73%',
  144. top: 'center'
  145. }]
  146. },
  147. tooltip: {
  148. trigger: 'axis',
  149. axisPointer: {
  150. type: 'shadow'
  151. }
  152. },
  153. legend: {
  154. data: ['销售额'],
  155. left:'27%'
  156. },
  157. grid: {
  158. left: '1%',
  159. right: '60%',
  160. top: '10%',
  161. bottom: '10%',
  162. containLabel: true,
  163. },
  164. xAxis: {
  165. type: 'value',
  166. position:'top',
  167. splitLine: {show: false},
  168. boundaryGap: [0, 0.01],
  169. axisTick: {
  170. show: false
  171. },
  172. axisLabel: {
  173. textStyle: {
  174. color: '#9ea7c4',
  175. fontSize: 12
  176. }
  177. },
  178. axisLine: {
  179. show: true,
  180. lineStyle: {
  181. color: '#6173A3'
  182. }
  183. },
  184. },
  185. yAxis: {
  186. type: 'category',
  187. data: ['茶几','床头柜','斗柜','大床','电视柜'],
  188. axisTick: {
  189. show: false
  190. },
  191. splitLine: {
  192. show: false
  193. },
  194. axisLabel: {
  195. textStyle: {
  196. color: '#9ea7c4',
  197. fontSize: 12
  198. }
  199. },
  200. axisLine: {
  201. show: true,
  202. lineStyle: {
  203. color: '#6173A3'
  204. }
  205. },
  206. },
  207. series: [{
  208. name: '',
  209. itemStyle: {
  210. normal: {
  211. color: function(params) {
  212. // build a color map as your need.
  213. var colorList = [
  214. '#C1232B','#B5C334','#FCCE10','#E87C25','#27727B',
  215. '#FE8463','#9BCA63','#FAD860','#F3A43B','#60C0DD',
  216. '#D7504B','#C6E579','#F4E001','#F0805A','#26C0C0'
  217. ];
  218. return colorList[params.dataIndex]
  219. },
  220. shadowBlur: 20,
  221. shadowColor: 'rgba(0, 0, 0, 0.5)'
  222. }
  223. },
  224. type: 'bar',
  225. data: [260,210,190,170,170]
  226. },{
  227. type: 'pie',
  228. radius: [30, '80%'],
  229. center: ['75%', '50%'],
  230. roseType: 'radius',
  231. color: [ '#C1232B','#B5C334','#FCCE10','#E87C25','#27727B',
  232. '#FE8463','#9BCA63','#FAD860','#F3A43B','#60C0DD',
  233. '#D7504B','#C6E579','#F4E001','#F0805A','#26C0C0'],
  234. data: [{
  235. value: 26,
  236. name: '茶几'
  237. }, {
  238. value: 21,
  239. name: '床头柜'
  240. }, {
  241. value: 19,
  242. name: '斗柜'
  243. }, {
  244. value: 17,
  245. name: '大床'
  246. }, {
  247. value: 17,
  248. name: '电视柜'
  249. }],
  250. label: {
  251. normal: {
  252. textStyle: {
  253. fontSize: 14
  254. },
  255. formatter: function(param) {
  256. return param.name + ':\n' + Math.round(param.percent) + '%';
  257. }
  258. }
  259. },
  260. labelLine: {
  261. normal: {
  262. smooth: true,
  263. lineStyle: {
  264. width: 2
  265. }
  266. }
  267. },
  268. itemStyle: {
  269. normal: {
  270. shadowBlur: 30,
  271. shadowColor: 'rgba(0, 0, 0, 0.4)'
  272. }
  273. },
  274. animationType: 'scale',
  275. animationEasing: 'elasticOut',
  276. animationDelay: function(idx) {
  277. return Math.random() * 200;
  278. }
  279. }]
  280. });
  281. }
  282. function echart_3() {
  283. // 基于准备好的dom,初始化echarts实例
  284. var myChart = echarts.init(document.getElementById('chart_3'));
  285. option = {
  286. // backgroundColor: "#404A59",
  287. color: ["#036BC8", "#5EBEFC", "#2EF7F3"],
  288. title: [{
  289. text: '',
  290. left: '1%',
  291. top: '6%',
  292. textStyle: {
  293. color: '#fff'
  294. }
  295. }, {
  296. text: '',
  297. left: '83%',
  298. top: '6%',
  299. textAlign: 'center',
  300. textStyle: {
  301. color: '#fff',
  302. fontSize: 16
  303. }
  304. }],
  305. tooltip: {
  306. trigger: 'axis'
  307. },
  308. legend: {
  309. x: 300,
  310. top: '7%',
  311. textStyle: {
  312. color: '#ffd285',
  313. },
  314. data: ['2016年', '2017年', '2018年']
  315. },
  316. grid: {
  317. left: '1%',
  318. right: '28%',
  319. top: '16%',
  320. bottom: '6%',
  321. containLabel: true
  322. },
  323. toolbox: {
  324. "show": false,
  325. feature: {
  326. saveAsImage: {}
  327. }
  328. },
  329. xAxis: {
  330. type: 'category',
  331. "axisLine": {
  332. lineStyle: {
  333. color: '#fff'
  334. }
  335. },
  336. "axisTick": {
  337. "show": false
  338. },
  339. axisLabel: {
  340. textStyle: {
  341. color: '#fff'
  342. }
  343. },
  344. boundaryGap: false,
  345. data: ['1', '2', '3', '4', '5', '6', '7','8','9','10','11','12']
  346. },
  347. yAxis: {
  348. "axisLine": {
  349. lineStyle: {
  350. color: '#fff'
  351. }
  352. },
  353. splitLine: {
  354. show: false,
  355. lineStyle: {
  356. color: '#fff'
  357. }
  358. },
  359. "axisTick": {
  360. "show": false
  361. },
  362. axisLabel: {
  363. textStyle: {
  364. color: '#fff'
  365. }
  366. },
  367. type: 'value'
  368. },
  369. series: [{
  370. name: '',
  371. smooth: true,
  372. type: 'line',
  373. symbolSize: 9,
  374. symbol: 'circle',
  375. data: [90, 50, 39, 50, 120, 82, 80, 89, 92, 80, 102, 77]
  376. }, {
  377. name: '',
  378. smooth: true,
  379. type: 'line',
  380. symbolSize: 9,
  381. symbol: 'circle',
  382. data: [70, 50, 50, 87, 90, 80, 70, 77, 86, 94, 96, 99]
  383. }, {
  384. name: '',
  385. smooth: true,
  386. type: 'line',
  387. symbolSize: 9,
  388. symbol: 'circle',
  389. data: [100, 112, 80, 132, 60, 70, 90, 131, 121, 102, 95, 105 ]
  390. },
  391. {
  392. type: 'pie',
  393. center: ['83%', '33%'],
  394. radius: ['30%', '35%'],
  395. label: {
  396. normal: {
  397. position: 'center'
  398. }
  399. },
  400. data: [{
  401. value: 335,
  402. name: '销售分析',
  403. itemStyle: {
  404. normal: {
  405. color: '#FF7E45'
  406. }
  407. },
  408. label: {
  409. normal: {
  410. formatter: '{d} %',
  411. textStyle: {
  412. color: '#ffd285',
  413. fontSize: 14
  414. }
  415. }
  416. }
  417. }, {
  418. value: 180,
  419. name: '占位',
  420. tooltip: {
  421. show: false
  422. },
  423. itemStyle: {
  424. normal: {
  425. color: '#fff'
  426. }
  427. },
  428. label: {
  429. normal: {
  430. textStyle: {
  431. color: '#ffd285',
  432. },
  433. formatter: '\n销售渠道'
  434. }
  435. }
  436. }]
  437. },
  438. {
  439. type: 'pie',
  440. center: ['83%', '72%'],
  441. radius: ['30%', '35%'],
  442. label: {
  443. normal: {
  444. position: 'center'
  445. }
  446. },
  447. data: [{
  448. value: 435,
  449. name: '销售分析',
  450. itemStyle: {
  451. normal: {
  452. color: '#4834CB'
  453. }
  454. },
  455. label: {
  456. normal: {
  457. formatter: '{d} %',
  458. textStyle: {
  459. color: '#fff',
  460. fontSize: 14
  461. }
  462. }
  463. }
  464. }, {
  465. value: 100,
  466. name: '占位',
  467. tooltip: {
  468. show: false
  469. },
  470. itemStyle: {
  471. normal: {
  472. color: '#fff'
  473. }
  474. },
  475. label: {
  476. normal: {
  477. textStyle: {
  478. color: '#fff',
  479. },
  480. formatter: '\n销售方向'
  481. }
  482. }
  483. }]
  484. }]
  485. }
  486. // 使用刚指定的配置项和数据显示图表。
  487. myChart.setOption(option);
  488. window.addEventListener("resize", function () {
  489. myChart.resize();
  490. });
  491. }
  492. });