visual.js 32 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202
  1. //交通流量
  2. var data = {
  3. id: 'multipleBarsLines',
  4. legendBar: ['团标密钥', '油气回收密钥'],
  5. symbol: ' ', //数值是否带百分号 --默认为空 ''
  6. legendLine: ['环比', '同比'],
  7. xAxis: ['2023', '2024' ],
  8. yAxis: [
  9. [60, 126],
  10. [60, 120]
  11. ],
  12. lines: [
  13. [60, 126],
  14. [60, 120]
  15. ],
  16. barColor: ['#009883', '#e66922'], //柱子颜色 必填参数
  17. lineColor: ['#fd6665', '#fba73b'], // 折线颜色
  18. }
  19. var myData = (function test() {
  20. let yAxis = data.yAxis || []
  21. let lines = data.lines || []
  22. let legendBar = data.legendBar || []
  23. let legendLine = data.legendLine || []
  24. var symbol = data.symbol || ' '
  25. let seriesArr = []
  26. let legendArr = []
  27. yAxis && yAxis.forEach((item, index) => {
  28. legendArr.push({
  29. name: legendBar && legendBar.length > 0 && legendBar[index]
  30. })
  31. seriesArr.push({
  32. name: legendBar && legendBar.length > 0 && legendBar[index],
  33. type: 'bar',
  34. barGap: '0.5px',
  35. data: item,
  36. barWidth: data.barWidth || 12,
  37. label: {
  38. normal: {
  39. show: false,
  40. formatter: '{c}' + symbol,
  41. position: 'top',
  42. textStyle: {
  43. color: '#000',
  44. fontStyle: 'normal',
  45. fontFamily: '微软雅黑',
  46. textAlign: 'left',
  47. fontSize: 11,
  48. },
  49. },
  50. },
  51. itemStyle: { //图形样式
  52. normal: {
  53. barBorderRadius:0,
  54. borderWidth:1,
  55. borderColor:'#ddd',
  56. color: data.barColor[index]
  57. },
  58. }
  59. })
  60. })
  61. lines && lines.forEach((item, index) => {
  62. legendArr.push({
  63. name: legendLine && legendLine.length > 0 && legendLine[index]
  64. })
  65. seriesArr.push({
  66. name: legendLine && legendLine.length > 0 && legendLine[index],
  67. type: 'line',
  68. data: item,
  69. itemStyle: {
  70. normal: {
  71. color: data.lineColor[index],
  72. lineStyle: {
  73. width: 2,//折线宽度
  74. type: 'solid',
  75. }
  76. }
  77. },
  78. label: {
  79. normal: {
  80. show: false, //折线上方label控制显示隐藏
  81. position: 'top',
  82. }
  83. },
  84. symbol: 'circle',
  85. symbolSize: 5
  86. })
  87. })
  88. return {
  89. seriesArr,
  90. legendArr
  91. }
  92. })()
  93. option1 = {
  94. title: {
  95. show: true,
  96. text: data.title,
  97. subtext: data.subTitle,
  98. link: '1111'
  99. },
  100. tooltip: {
  101. trigger: 'axis',
  102. formatter: function(params) {
  103. var time = '';
  104. var str = '';
  105. for (var i of params) {
  106. time = i.name.replace(/\n/g, '') + '<br/>';
  107. if (i.data == 'null' || i.data == null) {
  108. str += i.seriesName + ':无数据' + '<br/>'
  109. } else {
  110. str += i.seriesName + ':' + i.data + symbol + '%<br/>'
  111. }
  112. }
  113. return time + str;
  114. },
  115. axisPointer: {
  116. type: 'none'
  117. },
  118. },
  119. legend: {
  120. right: data.legendRight || '30%',
  121. top: 0,
  122. right:10,
  123. itemGap: 16,
  124. itemWidth: 10,
  125. itemHeight: 10,
  126. data: myData.legendArr,
  127. textStyle: {
  128. color: '#fff',
  129. fontStyle: 'normal',
  130. fontFamily: '微软雅黑',
  131. fontSize: 12,
  132. }
  133. },
  134. grid: {
  135. x: 0,
  136. y: 30,
  137. x2: 0,
  138. y2: 25,
  139. },
  140. xAxis: {
  141. type: 'category',
  142. data: data.xAxis,
  143. axisTick: {
  144. show: false,
  145. },
  146. axisLine: {
  147. show: false,
  148. },
  149. axisLabel: { //轴标
  150. show: true,
  151. interval: '0',
  152. textStyle: {
  153. lineHeight:5,
  154. padding: [2, 2, 0, 2],
  155. height: 50,
  156. fontSize: 12,
  157. color:'#fff',
  158. },
  159. rich: {
  160. Sunny: {
  161. height: 50,
  162. // width: 60,
  163. padding: [0, 5, 0, 5],
  164. align: 'center',
  165. },
  166. },
  167. formatter: function(params, index) {
  168. var newParamsName = "";
  169. var splitNumber = 5;
  170. var paramsNameNumber = params && params.length;
  171. if (paramsNameNumber && paramsNameNumber <= 4) {
  172. splitNumber = 4;
  173. } else if (paramsNameNumber >= 5 && paramsNameNumber <= 7) {
  174. splitNumber = 4;
  175. } else if (paramsNameNumber >= 8 && paramsNameNumber <= 9) {
  176. splitNumber = 5;
  177. } else if (paramsNameNumber >= 10 && paramsNameNumber <= 14) {
  178. splitNumber = 5;
  179. } else {
  180. params = params && params.slice(0, 15);
  181. }
  182. var provideNumber = splitNumber; //一行显示几个字
  183. var rowNumber = Math.ceil(paramsNameNumber / provideNumber) || 0;
  184. if (paramsNameNumber > provideNumber) {
  185. for (var p = 0; p < rowNumber; p++) {
  186. var tempStr = "";
  187. var start = p * provideNumber;
  188. var end = start + provideNumber;
  189. if (p == rowNumber - 1) {
  190. tempStr = params.substring(start, paramsNameNumber);
  191. } else {
  192. tempStr = params.substring(start, end) + "\n";
  193. }
  194. newParamsName += tempStr;
  195. }
  196. } else {
  197. newParamsName = params;
  198. }
  199. params = newParamsName
  200. return '{Sunny|' + params + '}';
  201. },
  202. color: '#687284',
  203. },
  204. },
  205. yAxis: {
  206. axisLine: {
  207. show: false
  208. },
  209. axisTick: {
  210. show: false
  211. },
  212. axisLabel: {
  213. show: false
  214. },
  215. splitLine: {
  216. show: true,
  217. lineStyle: {
  218. color: '#F1F3F5',
  219. type: 'solid'
  220. },
  221. interval: 2
  222. },
  223. splitNumber: 4,
  224. },
  225. series: myData.seriesArr
  226. }
  227. //////////////////////交通流量 end
  228. //交通工具流量
  229. option2 = {
  230. tooltip: {//鼠标指上时的标线
  231. trigger: 'axis',
  232. axisPointer: {
  233. lineStyle: {
  234. color: '#fff'
  235. }
  236. }
  237. },
  238. legend: {
  239. icon: 'rect',
  240. itemWidth: 14,
  241. itemHeight: 5,
  242. itemGap: 13,
  243. data: ['团标密钥', '油气回收密钥'],
  244. right: '10px',
  245. top: '0px',
  246. textStyle: {
  247. fontSize: 12,
  248. color: '#fff'
  249. }
  250. },
  251. grid: {
  252. x: 35,
  253. y: 25,
  254. x2: 8,
  255. y2: 25,
  256. },
  257. xAxis: [{
  258. type: 'category',
  259. boundaryGap: false,
  260. axisLine: {
  261. lineStyle: {
  262. color: '#57617B'
  263. }
  264. },
  265. axisLabel: {
  266. textStyle: {
  267. color:'#fff',
  268. },
  269. },
  270. data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']
  271. }],
  272. yAxis: [{
  273. type: 'value',
  274. axisTick: {
  275. show: false
  276. },
  277. axisLine: {
  278. lineStyle: {
  279. color: '#57617B'
  280. }
  281. },
  282. axisLabel: {
  283. margin: 10,
  284. textStyle: {
  285. fontSize: 14
  286. },
  287. textStyle: {
  288. color:'#fff',
  289. },
  290. },
  291. splitLine: {
  292. lineStyle: {
  293. color: '#57617B'
  294. }
  295. }
  296. }],
  297. series: [{
  298. name: '团标密钥',
  299. type: 'line',
  300. smooth: true,
  301. lineStyle: {
  302. normal: {
  303. width: 2
  304. }
  305. },
  306. areaStyle: {
  307. normal: {
  308. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
  309. offset: 0,
  310. color: 'rgba(137, 189, 27, 0.3)'
  311. }, {
  312. offset: 0.8,
  313. color: 'rgba(137, 189, 27, 0)'
  314. }], false),
  315. shadowColor: 'rgba(0, 0, 0, 0.1)',
  316. shadowBlur: 10
  317. }
  318. },
  319. itemStyle: {
  320. normal: {
  321. color: 'rgb(137,189,27)'
  322. }
  323. },
  324. data: [5,2,27,27,33,32]
  325. }, {
  326. name: '油气回收密钥',
  327. type: 'line',
  328. smooth: true,
  329. lineStyle: {
  330. normal: {
  331. width: 2
  332. }
  333. },
  334. areaStyle: {
  335. normal: {
  336. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
  337. offset: 0,
  338. color: 'rgba(0, 136, 212, 0.3)'
  339. }, {
  340. offset: 0.8,
  341. color: 'rgba(0, 136, 212, 0)'
  342. }], false),
  343. shadowColor: 'rgba(0, 0, 0, 0.1)',
  344. shadowBlur: 10
  345. }
  346. },
  347. itemStyle: {
  348. normal: {
  349. color: 'rgb(0,136,212)'
  350. }
  351. },
  352. data: [5,2,27,27,37,22]
  353. }, ]
  354. };
  355. //////////////////////交通工具流量 end
  356. //本月发生事件1
  357. var color = ['#e9df3d', '#f79c19', '#21fcd6', '#08c8ff', '#df4131'];
  358. var data = [{
  359. "name": "TQC电脑主板",
  360. "value": 40
  361. },
  362. {
  363. "name": "ECVR-FM",
  364. "value": 3
  365. },
  366. {
  367. "name": "TQC+",
  368. "value": 10
  369. },
  370. {
  371. "name": "TQC国标单双枪",
  372. "value": 8
  373. }
  374. ];
  375. var max = data[0].value;
  376. data.forEach(function(d) {
  377. max = d.value > max ? d.value : max;
  378. });
  379. var renderData = [{
  380. value: [],
  381. name: "告警类型TOP5",
  382. symbol: 'none',
  383. lineStyle: {
  384. normal: {
  385. color: '#ecc03e',
  386. width: 2
  387. }
  388. },
  389. areaStyle: {
  390. normal: {
  391. color: new echarts.graphic.LinearGradient(0, 0, 1, 0,
  392. [{
  393. offset: 0,
  394. color: 'rgba(203, 158, 24, 0.8)'
  395. }, {
  396. offset: 1,
  397. color: 'rgba(190, 96, 20, 0.8)'
  398. }],
  399. false)
  400. }
  401. }
  402. }];
  403. data.forEach(function(d, i) {
  404. var value = ['', '', '', '', ''];
  405. value[i] = max,
  406. renderData[0].value[i] = d.value;
  407. renderData.push({
  408. value: value,
  409. symbol: 'circle',
  410. symbolSize: 12,
  411. lineStyle: {
  412. normal: {
  413. color: 'transparent'
  414. }
  415. },
  416. itemStyle: {
  417. normal: {
  418. color: color[i],
  419. }
  420. }
  421. })
  422. })
  423. var indicator = [];
  424. data.forEach(function(d) {
  425. indicator.push({
  426. name: d.name,
  427. max: max,
  428. color: '#fff'
  429. })
  430. })
  431. option3 = {
  432. tooltip: {
  433. show: true,
  434. trigger: "item"
  435. },
  436. radar: {
  437. center: ["50%", "50%"],//偏移位置
  438. radius: "80%",
  439. startAngle: 40, // 起始角度
  440. splitNumber: 4,
  441. shape: "circle",
  442. splitArea: {
  443. areaStyle: {
  444. color: 'transparent'
  445. }
  446. },
  447. axisLabel: {
  448. show: false,
  449. fontSize: 20,
  450. color: "#000",
  451. fontStyle: "normal",
  452. fontWeight: "normal"
  453. },
  454. axisLine: {
  455. show: true,
  456. lineStyle: {
  457. color: "rgba(255, 255, 255, 0.5)"
  458. }
  459. },
  460. splitLine: {
  461. show: true,
  462. lineStyle: {
  463. color: "rgba(255, 255, 255, 0.5)"
  464. }
  465. },
  466. indicator: indicator
  467. },
  468. series: [{
  469. type: "radar",
  470. data: renderData
  471. }]
  472. }
  473. //////////////////////本月发生事件1 end
  474. //本月发生事件2
  475. var color = ['#e9df3d', '#f79c19', '#21fcd6', '#08c8ff', '#df4131'];
  476. var data = [{
  477. "name": "TQC电脑主板",
  478. "value": 15
  479. },
  480. {
  481. "name": "ECVR-FM",
  482. "value": 14
  483. },
  484. {
  485. "name": "TQC+",
  486. "value": 23
  487. },
  488. {
  489. "name": "TQC国标单双枪",
  490. "value": 2
  491. },
  492. {
  493. "name": "TQC国标",
  494. "value": 50
  495. }
  496. ];
  497. var max = data[0].value;
  498. data.forEach(function(d) {
  499. max = d.value > max ? d.value : max;
  500. });
  501. var renderData = [{
  502. value: [],
  503. name: "告警类型TOP5",
  504. symbol: 'none',
  505. lineStyle: {
  506. normal: {
  507. color: '#ecc03e',
  508. width: 2
  509. }
  510. },
  511. areaStyle: {
  512. normal: {
  513. color: new echarts.graphic.LinearGradient(0, 0, 1, 0,
  514. [{
  515. offset: 0,
  516. color: 'rgba(203, 158, 24, 0.8)'
  517. }, {
  518. offset: 1,
  519. color: 'rgba(190, 96, 20, 0.8)'
  520. }],
  521. false)
  522. }
  523. }
  524. }];
  525. data.forEach(function(d, i) {
  526. var value = ['', '', '', '', ''];
  527. value[i] = max,
  528. renderData[0].value[i] = d.value;
  529. renderData.push({
  530. value: value,
  531. symbol: 'circle',
  532. symbolSize: 12,
  533. lineStyle: {
  534. normal: {
  535. color: 'transparent'
  536. }
  537. },
  538. itemStyle: {
  539. normal: {
  540. color: color[i],
  541. }
  542. }
  543. })
  544. })
  545. var indicator = [];
  546. data.forEach(function(d) {
  547. indicator.push({
  548. name: d.name,
  549. max: max,
  550. color: '#fff'
  551. })
  552. })
  553. option31 = {
  554. tooltip: {
  555. show: true,
  556. trigger: "item"
  557. },
  558. radar: {
  559. center: ["50%", "50%"],//偏移位置
  560. radius: "80%",
  561. startAngle: 40, // 起始角度
  562. splitNumber: 4,
  563. shape: "circle",
  564. splitArea: {
  565. areaStyle: {
  566. color: 'transparent'
  567. }
  568. },
  569. axisLabel: {
  570. show: false,
  571. fontSize: 20,
  572. color: "#000",
  573. fontStyle: "normal",
  574. fontWeight: "normal"
  575. },
  576. axisLine: {
  577. show: true,
  578. lineStyle: {
  579. color: "rgba(255, 255, 255, 0.5)"
  580. }
  581. },
  582. splitLine: {
  583. show: true,
  584. lineStyle: {
  585. color: "rgba(255, 255, 255, 0.5)"
  586. }
  587. },
  588. indicator: indicator
  589. },
  590. series: [{
  591. type: "radar",
  592. data: renderData
  593. }]
  594. }
  595. //////////////////////本月发生事件2 end
  596. //收费站收费排行1
  597. var spirit = '../images.ksh45.png';
  598. var maxData = 200;
  599. option4 = {
  600. "title": {
  601. "text": " ",
  602. "left": "center",
  603. "y": "10",
  604. "textStyle": {
  605. "color": "#fff"
  606. }
  607. },
  608. "grid": {
  609. "left": 30,
  610. "top": 0,
  611. "bottom": 10
  612. },
  613. "tooltip": {
  614. "trigger": "item",
  615. "textStyle": {
  616. "fontSize": 12
  617. },
  618. "formatter": "{b0}:{c0}"
  619. },
  620. "xAxis": {
  621. "max": 361,
  622. "splitLine": {
  623. "show": false
  624. },
  625. "axisLine": {
  626. "show": false
  627. },
  628. "axisLabel": {
  629. "show": false
  630. },
  631. "axisTick": {
  632. "show": false
  633. }
  634. },
  635. "yAxis": [
  636. {
  637. "type": "category",
  638. "inverse": false,
  639. "data": [
  640. "团标",
  641. "油气",
  642. ],
  643. "axisLine": {
  644. "show": false
  645. },
  646. "axisTick": {
  647. "show": false
  648. },
  649. "axisLabel": {
  650. "margin": -4,
  651. "textStyle": {
  652. "color": "#fff",
  653. "fontSize": 16.25
  654. }
  655. }
  656. },
  657. ],
  658. "series": [
  659. {
  660. "type": "pictorialBar",
  661. "symbol": "image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFoAAABaCAYAAAA4qEECAAADYElEQVR4nO2dz0sUYRjHP7tIdAmxQ1LdlhCKMohAIsgiyEuHjkUEFQTlpejS/xCCBB06RBGBBKIG4cGyH0qHBKE9eKyFqBQPRQeNCt06vGNY7bq7szPfeZLnAwuzM+/zgw/DDvMu70wOIVveLscJOwycA44A24CfwAfgKXAbeFVvovlC/o/vuVwuTj+x0FWiYdGbgXvA8RrjHgAXgIVaCbMU3SKr1BhtwEtgZx1jTwI7gG7ga5pNNUO+9pBMuEN9klfYD9xMqZdEsCj6AHAiRtxZYFeyrSSHRdGnYsblCD8jJrEoek8TsbsT6yJhLIrelFFsqlgUPZtRbKpYFP2kidjxxLpIGIuiB4AvMeLmgJGEe0kMi6I/AVdjxPVSx91hVlgUDXAXuEaY16jFMnAJeJhqR01iVTTAdeAYUFxjzBRwCLgl6agJrM51rDAO7AP2EmbxthPO8vfAc2Ams84axLpoCGKLrH1mm8eC6KPAGaAL2Fpj7AZgY7T9DfhRY/wc4eflPmH+OjOynI8uEGbpukXlJ4Dz84V8aWWHcj46q4thFzCNTjJRren2UrlLWPM3WYjuAMYIk/tq2oCx9lK5Q11YLboFGARaxXVX0woMtpfK0uuTWvRFoFNcsxKdhF5kqEX3iuuthbQXtehG/gdMG2kvlm/B1xUuWoSLFmFF9CRwg2TnM4pRzskEc8bGiugR4ArhNjkpJqKcJv51sSJ63eOiRbhoES5ahIsW4aJFuGgRLlqEixbhokW4aBEuWoSLFuGiRbhoES5ahIsW4aJFuGgRLlqEWvTHKvs/p1izWu5qvaSCWvTlCvtmgeEUaw5TeUVtpV5SQy16COgBRoHXhMWb3aS7PnAhqjEQ1RwFeuYL+aEUa/5DFmtYHkefOEwQVmcBvKD+FQNvgNN/P+pHiV8MRbhoES5ahIsW4aJFuGgRLlqEixbhokW4aBEuWoSLFuGiRbhoES5ahIsW4aJFuGgRLlqEixbhokVYEx3nudGKXE1jTfS6xUWLcNEiXLQIFy3CRYtw0SJctAgXLcJFi3DRIv430eUq2+axJvp7jePPqmzHySXFmuhHwFKVYzNA/6rv/VR/s9BSlMsM1kTPEN4DPkU4I8vAO6APOAgsrhq7GO3ri8aUo5ipKIep1zv9AtipgOACGIrLAAAAAElFTkSuQmCC",
  662. "symbolRepeat": "fixed",
  663. "symbolMargin": "5%",
  664. "symbolClip": true,
  665. "symbolSize": 22.5,
  666. "symbolPosition": "start",
  667. "symbolOffset": [
  668. 20,
  669. 0
  670. ],
  671. "symbolBoundingData": 361,
  672. "data": [
  673. 299,
  674. 238,
  675. ],
  676. "z": 10
  677. },
  678. {
  679. "type": "pictorialBar",
  680. "itemStyle": {
  681. "normal": {
  682. "opacity": 0.3
  683. }
  684. },
  685. "label": {
  686. "normal": {
  687. "show": false
  688. }
  689. },
  690. "animationDuration": 0,
  691. "symbolRepeat": "fixed",
  692. "symbolMargin": "5%",
  693. "symbol": "image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFoAAABaCAYAAAA4qEECAAADYElEQVR4nO2dz0sUYRjHP7tIdAmxQ1LdlhCKMohAIsgiyEuHjkUEFQTlpejS/xCCBB06RBGBBKIG4cGyH0qHBKE9eKyFqBQPRQeNCt06vGNY7bq7szPfeZLnAwuzM+/zgw/DDvMu70wOIVveLscJOwycA44A24CfwAfgKXAbeFVvovlC/o/vuVwuTj+x0FWiYdGbgXvA8RrjHgAXgIVaCbMU3SKr1BhtwEtgZx1jTwI7gG7ga5pNNUO+9pBMuEN9klfYD9xMqZdEsCj6AHAiRtxZYFeyrSSHRdGnYsblCD8jJrEoek8TsbsT6yJhLIrelFFsqlgUPZtRbKpYFP2kidjxxLpIGIuiB4AvMeLmgJGEe0kMi6I/AVdjxPVSx91hVlgUDXAXuEaY16jFMnAJeJhqR01iVTTAdeAYUFxjzBRwCLgl6agJrM51rDAO7AP2EmbxthPO8vfAc2Ams84axLpoCGKLrH1mm8eC6KPAGaAL2Fpj7AZgY7T9DfhRY/wc4eflPmH+OjOynI8uEGbpukXlJ4Dz84V8aWWHcj46q4thFzCNTjJRren2UrlLWPM3WYjuAMYIk/tq2oCx9lK5Q11YLboFGARaxXVX0woMtpfK0uuTWvRFoFNcsxKdhF5kqEX3iuuthbQXtehG/gdMG2kvlm/B1xUuWoSLFmFF9CRwg2TnM4pRzskEc8bGiugR4ArhNjkpJqKcJv51sSJ63eOiRbhoES5ahIsW4aJFuGgRLlqEixbhokW4aBEuWoSLFuGiRbhoES5ahIsW4aJFuGgRLlqEWvTHKvs/p1izWu5qvaSCWvTlCvtmgeEUaw5TeUVtpV5SQy16COgBRoHXhMWb3aS7PnAhqjEQ1RwFeuYL+aEUa/5DFmtYHkefOEwQVmcBvKD+FQNvgNN/P+pHiV8MRbhoES5ahIsW4aJFuGgRLlqEixbhokW4aBEuWoSLFuGiRbhoES5ahIsW4aJFuGgRLlqEixbhokVYEx3nudGKXE1jTfS6xUWLcNEiXLQIFy3CRYtw0SJctAgXLcJFi3DRIv430eUq2+axJvp7jePPqmzHySXFmuhHwFKVYzNA/6rv/VR/s9BSlMsM1kTPEN4DPkU4I8vAO6APOAgsrhq7GO3ri8aUo5ipKIep1zv9AtipgOACGIrLAAAAAElFTkSuQmCC",
  694. "symbolSize": 22.5,
  695. "symbolBoundingData": 361,
  696. "symbolPosition": "start",
  697. "symbolOffset": [
  698. 20,
  699. 0
  700. ],
  701. "data": [
  702. 361,
  703. 238,
  704. ],
  705. "z": 5
  706. }
  707. ]
  708. };
  709. // Make dynamic data.
  710. function random() {
  711. return +(Math.random() * (maxData - 10)).toFixed(1);
  712. }
  713. setInterval(function () {
  714. var dynamicData = [random(), random(), random(), random(),random(), random(), random(), random(),random(),random()];
  715. myChart.setOption({
  716. series: [{
  717. data: dynamicData.slice()
  718. }, {
  719. data: dynamicData.slice()
  720. }]
  721. })
  722. }, 3000)
  723. //////////////////////收费站收费排行2 end
  724. //收费站收费排行2
  725. var spirit = '../images.ksh45.png';
  726. var maxData = 200;
  727. option41 = {
  728. "title": {
  729. "text": " ",
  730. "left": "center",
  731. "y": "10",
  732. "textStyle": {
  733. "color": "#fff"
  734. }
  735. },
  736. "grid": {
  737. "left": 30,
  738. "top": 0,
  739. "bottom": 10
  740. },
  741. "tooltip": {
  742. "trigger": "item",
  743. "textStyle": {
  744. "fontSize": 12
  745. },
  746. "formatter": "{b0}:{c0}"
  747. },
  748. "xAxis": {
  749. "max": 100,
  750. "splitLine": {
  751. "show": false
  752. },
  753. "axisLine": {
  754. "show": false
  755. },
  756. "axisLabel": {
  757. "show": false
  758. },
  759. "axisTick": {
  760. "show": false
  761. }
  762. },
  763. "yAxis": [
  764. {
  765. "type": "category",
  766. "inverse": false,
  767. "data": [
  768. "朔州",
  769. "大同",
  770. "运城",
  771. "忻州",
  772. "临汾",
  773. ],
  774. "axisLine": {
  775. "show": false
  776. },
  777. "axisTick": {
  778. "show": false
  779. },
  780. "axisLabel": {
  781. "margin": -4,
  782. "textStyle": {
  783. "color": "#fff",
  784. "fontSize": 16.25
  785. }
  786. }
  787. },
  788. ],
  789. "series": [
  790. {
  791. "type": "pictorialBar",
  792. "symbol": "image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFoAAABaCAYAAAA4qEECAAADYElEQVR4nO2dz0sUYRjHP7tIdAmxQ1LdlhCKMohAIsgiyEuHjkUEFQTlpejS/xCCBB06RBGBBKIG4cGyH0qHBKE9eKyFqBQPRQeNCt06vGNY7bq7szPfeZLnAwuzM+/zgw/DDvMu70wOIVveLscJOwycA44A24CfwAfgKXAbeFVvovlC/o/vuVwuTj+x0FWiYdGbgXvA8RrjHgAXgIVaCbMU3SKr1BhtwEtgZx1jTwI7gG7ga5pNNUO+9pBMuEN9klfYD9xMqZdEsCj6AHAiRtxZYFeyrSSHRdGnYsblCD8jJrEoek8TsbsT6yJhLIrelFFsqlgUPZtRbKpYFP2kidjxxLpIGIuiB4AvMeLmgJGEe0kMi6I/AVdjxPVSx91hVlgUDXAXuEaY16jFMnAJeJhqR01iVTTAdeAYUFxjzBRwCLgl6agJrM51rDAO7AP2EmbxthPO8vfAc2Ams84axLpoCGKLrH1mm8eC6KPAGaAL2Fpj7AZgY7T9DfhRY/wc4eflPmH+OjOynI8uEGbpukXlJ4Dz84V8aWWHcj46q4thFzCNTjJRren2UrlLWPM3WYjuAMYIk/tq2oCx9lK5Q11YLboFGARaxXVX0woMtpfK0uuTWvRFoFNcsxKdhF5kqEX3iuuthbQXtehG/gdMG2kvlm/B1xUuWoSLFmFF9CRwg2TnM4pRzskEc8bGiugR4ArhNjkpJqKcJv51sSJ63eOiRbhoES5ahIsW4aJFuGgRLlqEixbhokW4aBEuWoSLFuGiRbhoES5ahIsW4aJFuGgRLlqEWvTHKvs/p1izWu5qvaSCWvTlCvtmgeEUaw5TeUVtpV5SQy16COgBRoHXhMWb3aS7PnAhqjEQ1RwFeuYL+aEUa/5DFmtYHkefOEwQVmcBvKD+FQNvgNN/P+pHiV8MRbhoES5ahIsW4aJFuGgRLlqEixbhokW4aBEuWoSLFuGiRbhoES5ahIsW4aJFuGgRLlqEixbhokVYEx3nudGKXE1jTfS6xUWLcNEiXLQIFy3CRYtw0SJctAgXLcJFi3DRIv430eUq2+axJvp7jePPqmzHySXFmuhHwFKVYzNA/6rv/VR/s9BSlMsM1kTPEN4DPkU4I8vAO6APOAgsrhq7GO3ri8aUo5ipKIep1zv9AtipgOACGIrLAAAAAElFTkSuQmCC",
  793. "symbolRepeat": "fixed",
  794. "symbolMargin": "5%",
  795. "symbolClip": true,
  796. "symbolSize": 22.5,
  797. "symbolPosition": "start",
  798. "symbolOffset": [
  799. 20,
  800. 0
  801. ],
  802. "symbolBoundingData": 300,
  803. "data": [
  804. 51,
  805. 32,
  806. 82,
  807. 42,
  808. 81,
  809. ],
  810. "z": 10
  811. },
  812. {
  813. "type": "pictorialBar",
  814. "itemStyle": {
  815. "normal": {
  816. "opacity": 0.3
  817. }
  818. },
  819. "label": {
  820. "normal": {
  821. "show": false
  822. }
  823. },
  824. "animationDuration": 0,
  825. "symbolRepeat": "fixed",
  826. "symbolMargin": "5%",
  827. "symbol": "image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFoAAABaCAYAAAA4qEECAAADYElEQVR4nO2dz0sUYRjHP7tIdAmxQ1LdlhCKMohAIsgiyEuHjkUEFQTlpejS/xCCBB06RBGBBKIG4cGyH0qHBKE9eKyFqBQPRQeNCt06vGNY7bq7szPfeZLnAwuzM+/zgw/DDvMu70wOIVveLscJOwycA44A24CfwAfgKXAbeFVvovlC/o/vuVwuTj+x0FWiYdGbgXvA8RrjHgAXgIVaCbMU3SKr1BhtwEtgZx1jTwI7gG7ga5pNNUO+9pBMuEN9klfYD9xMqZdEsCj6AHAiRtxZYFeyrSSHRdGnYsblCD8jJrEoek8TsbsT6yJhLIrelFFsqlgUPZtRbKpYFP2kidjxxLpIGIuiB4AvMeLmgJGEe0kMi6I/AVdjxPVSx91hVlgUDXAXuEaY16jFMnAJeJhqR01iVTTAdeAYUFxjzBRwCLgl6agJrM51rDAO7AP2EmbxthPO8vfAc2Ams84axLpoCGKLrH1mm8eC6KPAGaAL2Fpj7AZgY7T9DfhRY/wc4eflPmH+OjOynI8uEGbpukXlJ4Dz84V8aWWHcj46q4thFzCNTjJRren2UrlLWPM3WYjuAMYIk/tq2oCx9lK5Q11YLboFGARaxXVX0woMtpfK0uuTWvRFoFNcsxKdhF5kqEX3iuuthbQXtehG/gdMG2kvlm/B1xUuWoSLFmFF9CRwg2TnM4pRzskEc8bGiugR4ArhNjkpJqKcJv51sSJ63eOiRbhoES5ahIsW4aJFuGgRLlqEixbhokW4aBEuWoSLFuGiRbhoES5ahIsW4aJFuGgRLlqEWvTHKvs/p1izWu5qvaSCWvTlCvtmgeEUaw5TeUVtpV5SQy16COgBRoHXhMWb3aS7PnAhqjEQ1RwFeuYL+aEUa/5DFmtYHkefOEwQVmcBvKD+FQNvgNN/P+pHiV8MRbhoES5ahIsW4aJFuGgRLlqEixbhokW4aBEuWoSLFuGiRbhoES5ahIsW4aJFuGgRLlqEixbhokVYEx3nudGKXE1jTfS6xUWLcNEiXLQIFy3CRYtw0SJctAgXLcJFi3DRIv430eUq2+axJvp7jePPqmzHySXFmuhHwFKVYzNA/6rv/VR/s9BSlMsM1kTPEN4DPkU4I8vAO6APOAgsrhq7GO3ri8aUo5ipKIep1zv9AtipgOACGIrLAAAAAElFTkSuQmCC",
  828. "symbolSize": 22.5,
  829. "symbolBoundingData": 300,
  830. "symbolPosition": "start",
  831. "symbolOffset": [
  832. 20,
  833. 0
  834. ],
  835. "data": [
  836. 51,
  837. 32,
  838. 82,
  839. 42,
  840. 81,
  841. ],
  842. "z": 5
  843. }
  844. ]
  845. };
  846. // Make dynamic data.
  847. function random() {
  848. return +(Math.random() * (maxData - 10)).toFixed(1);
  849. }
  850. setInterval(function () {
  851. var dynamicData = [random(), random(), random(), random(),random(), random(), random(), random(),random(),random()];
  852. myChart.setOption({
  853. series: [{
  854. data: dynamicData.slice()
  855. }, {
  856. data: dynamicData.slice()
  857. }]
  858. })
  859. }, 3000)
  860. //////////////////////收费站收费排行2 end
  861. //今日实时收费
  862. var shadowColor = '#374b86';
  863. var value = 80;
  864. option5 = {
  865. title: {
  866. //text: `${value}万辆`,
  867. text: `车辆总数`,
  868. subtext: '',
  869. left: 'center',
  870. top: 'center',//top待调整
  871. textStyle: {
  872. color: '#fff',
  873. fontSize: 16,
  874. fontFamily: 'PingFangSC-Regular'
  875. },
  876. subtextStyle: {
  877. color: '#ff',
  878. fontSize: 14,
  879. fontFamily: 'PingFangSC-Regular',
  880. top: 'center'
  881. },
  882. itemGap: -1//主副标题间距
  883. },
  884. series: [{
  885. name: 'pie1',
  886. type: 'pie',
  887. clockWise: true,
  888. radius: ['65%', '70%'],
  889. itemStyle: {
  890. normal: {
  891. label: {
  892. show: false
  893. },
  894. labelLine: {
  895. show: false
  896. }
  897. }
  898. },
  899. hoverAnimation: false,
  900. data: [{
  901. value: value,
  902. name: 'completed',
  903. itemStyle: {
  904. normal: {
  905. borderWidth: 8,
  906. borderColor: {
  907. colorStops: [{
  908. offset: 0,
  909. color: '#1d54f7' || '#00cefc' // 0% 处的颜色
  910. }, {
  911. offset: 1,
  912. color: '#68eaf9' || '#367bec' // 100% 处的颜色
  913. }]
  914. },
  915. color: { // 完成的圆环的颜色
  916. colorStops: [{
  917. offset: 0,
  918. color: '#1d54f7' || '#00cefc' // 0% 处的颜色
  919. }, {
  920. offset: 1,
  921. color: '#68eaf9' || '#367bec' // 100% 处的颜色
  922. }]
  923. },
  924. label: {
  925. show: false
  926. },
  927. labelLine: {
  928. show: false
  929. }
  930. }
  931. }
  932. }, {
  933. name: 'gap',
  934. value: 100 - value,
  935. itemStyle: {
  936. normal: {
  937. label: {
  938. show: false
  939. },
  940. labelLine: {
  941. show: false
  942. },
  943. color: 'rgba(0, 0, 0, 0)',
  944. borderColor: 'rgba(0, 0, 0, 0)',
  945. borderWidth: 0
  946. }
  947. }
  948. }]
  949. }]
  950. }
  951. var shadowColor = '#374b86';
  952. var value = 85;
  953. option6 = {
  954. title: {
  955. //text: `${value}万辆`,
  956. text: `今日上线`,
  957. subtext: '',
  958. left: 'center',
  959. top: 'center',//top待调整
  960. textStyle: {
  961. color: '#fff',
  962. fontSize: 16,
  963. fontFamily: 'PingFangSC-Regular'
  964. },
  965. subtextStyle: {
  966. color: '#ff',
  967. fontSize: 14,
  968. fontFamily: 'PingFangSC-Regular',
  969. top: 'center'
  970. },
  971. itemGap: -1//主副标题间距
  972. },
  973. series: [{
  974. name: 'pie1',
  975. type: 'pie',
  976. clockWise: true,
  977. radius: ['65%', '70%'],
  978. itemStyle: {
  979. normal: {
  980. label: {
  981. show: false
  982. },
  983. labelLine: {
  984. show: false
  985. }
  986. }
  987. },
  988. hoverAnimation: false,
  989. data: [{
  990. value: value,
  991. name: 'completed',
  992. itemStyle: {
  993. normal: {
  994. borderWidth: 8,
  995. borderColor: {
  996. colorStops: [{
  997. offset: 0,
  998. color: '#02df94' || '#25d6bc' // 0% 处的颜色
  999. }, {
  1000. offset: 1,
  1001. color: '#28d3d0' || '#14dbaa' // 100% 处的颜色
  1002. }]
  1003. },
  1004. color: { // 完成的圆环的颜色
  1005. colorStops: [{
  1006. offset: 0,
  1007. color: '#02df94' || '#25d6bc' // 0% 处的颜色
  1008. }, {
  1009. offset: 1,
  1010. color: '#28d3d0' || '#14dbaa' // 100% 处的颜色
  1011. }]
  1012. },
  1013. label: {
  1014. show: false
  1015. },
  1016. labelLine: {
  1017. show: false
  1018. }
  1019. }
  1020. }
  1021. }, {
  1022. name: 'gap',
  1023. value: 100 - value,
  1024. itemStyle: {
  1025. normal: {
  1026. label: {
  1027. show: false
  1028. },
  1029. labelLine: {
  1030. show: false
  1031. },
  1032. color: 'rgba(0, 0, 0, 0)',
  1033. borderColor: 'rgba(0, 0, 0, 0)',
  1034. borderWidth: 0
  1035. }
  1036. }
  1037. }]
  1038. }]
  1039. }
  1040. var shadowColor = '#374b86';
  1041. var value = 46;
  1042. option7 = {
  1043. title: {
  1044. //text: `${value}万辆`,
  1045. text: `今日报警`,
  1046. subtext: '',
  1047. left: 'center',
  1048. top: 'center',//top待调整
  1049. textStyle: {
  1050. color: '#fff',
  1051. fontSize: 16,
  1052. fontFamily: 'PingFangSC-Regular'
  1053. },
  1054. subtextStyle: {
  1055. color: '#ff',
  1056. fontSize: 14,
  1057. fontFamily: 'PingFangSC-Regular',
  1058. top: 'center'
  1059. },
  1060. itemGap: -1//主副标题间距
  1061. },
  1062. series: [{
  1063. name: 'pie1',
  1064. type: 'pie',
  1065. clockWise: true,
  1066. radius: ['65%', '70%'],
  1067. itemStyle: {
  1068. normal: {
  1069. label: {
  1070. show: false
  1071. },
  1072. labelLine: {
  1073. show: false
  1074. }
  1075. }
  1076. },
  1077. hoverAnimation: false,
  1078. data: [{
  1079. value: value,
  1080. name: 'completed',
  1081. itemStyle: {
  1082. normal: {
  1083. borderWidth: 8,
  1084. borderColor: {
  1085. colorStops: [{
  1086. offset: 0,
  1087. color: '#eb3600' || '#cc9a00' // 0% 处的颜色
  1088. }, {
  1089. offset: 1,
  1090. color: '#d0a00e' || '#d0570e' // 100% 处的颜色
  1091. }]
  1092. },
  1093. color: { // 完成的圆环的颜色
  1094. colorStops: [{
  1095. offset: 0,
  1096. color: '#eb3600' || '#cc9a00' // 0% 处的颜色
  1097. }, {
  1098. offset: 1,
  1099. color: '#d0a00e' || '#d0570e' // 100% 处的颜色
  1100. }]
  1101. },
  1102. label: {
  1103. show: false
  1104. },
  1105. labelLine: {
  1106. show: false
  1107. }
  1108. }
  1109. }
  1110. }, {
  1111. name: 'gap',
  1112. value: 100 - value,
  1113. itemStyle: {
  1114. normal: {
  1115. label: {
  1116. show: false
  1117. },
  1118. labelLine: {
  1119. show: false
  1120. },
  1121. color: 'rgba(0, 0, 0, 0)',
  1122. borderColor: 'rgba(0, 0, 0, 0)',
  1123. borderWidth: 0
  1124. }
  1125. }
  1126. }]
  1127. }]
  1128. }
  1129. //////////////////////今日实时收费 end