zoukankan      html  css  js  c++  java
  • Echarts配置

    直接引入echarts

    安装echarts项目依赖

    cnpm install echarts --save
    
    //或者
    cnpm i echarts -S
    
     

    全局引入

    我们安装完成之后,可以在 main.js 中全局引入 echarts

    1 import echarts from "echarts";
    2 Vue.prototype.$echarts = echarts;

    创建图表

     1 <template>
     2   <div id="app">
     3     <div id="main" style=" 600px;height:400px;"></div>
     4   </div>
     5 </template>
     6 <script>
     7 export default {
     8   name: "app",
     9   methods: {
    10     drawChart() {
    11       // 基于准备好的dom,初始化echarts实例
    12       let myChart = this.$echarts.init(document.getElementById("main"));
    13       // 指定图表的配置项和数据
    14       let option = {
    15         title: {
    16           text: "ECharts 入门示例"
    17         },
    18         tooltip: {},
    19         legend: {
    20           data: ["销量"]
    21         },
    22         xAxis: {
    23           data: ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
    24         },
    25         yAxis: {},
    26         series: [
    27           {
    28             name: "销量",
    29             type: "bar",
    30             data: [5, 20, 36, 10, 10, 20]
    31           }
    32         ]
    33       };
    34       // 使用刚指定的配置项和数据显示图表。
    35       myChart.setOption(option);
    36     }
    37   },
    38   mounted() {
    39     this.drawChart();
    40   }
    41 };
    42 </script>

     1  //实际获取总的Gpu数据
     2     getGpuData() {
     3       if (!Utils.checkToken(this)) return;
     4       if (this.begin_date === null) {
     5         this.begin_date = new Date("2018/12/1");
     6       }
     7       if (this.end_date === null) {
     8         this.end_date = new Date();
     9       }
    10       this.showPagination = true;
    11       let loading = this.$loading();
    12       this.GetGpuRealAvailiay({
    13         search_type: this.search_type,
    14         uid: this.uid,
    15         gpu: this.gpu,
    16         begin_date: Utils.formatDate(this.begin_date, "yyyy-MM-dd"),
    17         end_date: Utils.formatDate(this.end_date, "yyyy-MM-dd")
    18       }).then(
    19         res => {
    20           res=res.body
    21           loading.close();
    22           this.totalData = res;
    23           this.drawChart(this.totalData.data);
    24           const idx = res.date.length - 1;
    25           this.time_date = res.date[idx];
    26           this.avage_ratio = res.data[idx];
    27           this.getOneGpu(1);
    28         },
    29         err => {
    30           this.$message.error(err.msg);
    31         }
    32       );
    33     },
    34 
    35 //实际画图
    36 drawChart() {
    37       const This = this;
    38       let mChart_line1 = This.$echarts.init(document.getElementById("mChart_line"));
    39       mChart_line1.setOption(
    40         lineOptions.line({
    41           option_type: 10,
    42           yName: This.yName,
    43           yData: This.total_data.data,
    44           tName: This.total_data.tName,
    45           xName: "时间",
    46           xData: This.total_data.date,
    47           title: "GPU Test",
    48           Unit: This.Unit
    49         })
    50       );
    51       mChart_line1.getZr().off("click");
    52       mChart_line1.getZr().on("click", params => {
    53         const pointInPixel = [params.offsetX, params.offsetY];
    54         if (mChart_line1.containPixel({ seriesIndex: [0] }, pointInPixel)) {
    55           //判断给定的点是否在指定的坐标系或者系列上
    56           let xIndex = mChart_line1.convertFromPixel({ seriesIndex: 0 }, [
    57             //转换像素坐标值到逻辑坐标系上的点
    58             params.offsetX,
    59             params.offsetY
    60           ])[0]; /*事件处理代码书写位置*/
    61           This.day =
    62             This.date_type === "month"
    63               ? This.total_data.date[xIndex] + "-01"
    64               : This.total_data.date[xIndex];
    65           This.showPagination = false;
    66           This.getDayData(1);
    67         }
    68       });
    69     }

    折线图.js

      1 export default {
      2     /**
      3      * 折线图
      4      * xData x轴
      5      * yData y轴
      6      *  xName x轴名字
      7      * title 标题
      8      */
      9     line(param) {
     10         var xData = param.xData;
     11         var data = param.yData
     12         let option = [];
     13         let num =param.num ? param.num : 0;
     14         let max = num ? num *100 : 100;    //处理精度丢失问题  但不是最佳方案
     15         let startValue = param.startValue;
     16         option[0] = {
     17             // Make gradient line here
     18             visualMap: [{
     19                 show: false,
     20                 type: 'continuous',
     21                 seriesIndex: 0,
     22                 dimension: 0,
     23                 min: 0,
     24                 max: xData.length - 1
     25             }],
     26             title: [{
     27                 top: '',
     28                 left: 'center',
     29                 text: param.title
     30             }],
     31             tooltip: {
     32                 trigger: 'axis',
     33                 formatter: function(params){    
     34                     var text_Unit ='';     
     35                     for(var i = 0;i < params.length;i++){
     36                         text_Unit += params[i].value + param.Unit + "</br>"
     37                     }    
     38                         return params[0].name + "</br>" + text_Unit;                      
     39                 }
     40             },
     41             xAxis: [{
     42                 data: xData,
     43                 gridIndex: 1,
     44             }],
     45             yAxis: [{
     46                 name: param.yName,
     47                 splitLine: { show: false },
     48                 gridIndex: 1,
     49             }],
     50             grid: [{
     51                 bottom: '',
     52             }, {
     53                 top: '20%',
     54             }],
     55             series: [{
     56                 type: 'line',
     57                 showSymbol: false,
     58                 data: data
     59             }]
     60         };
     61         option[1] = {
     62             title: {
     63                 text: param.title,
     64                 x: 'center',
     65                 y: '10px',
     66                 textStyle: {
     67                     fontSize: 18,
     68                     color: '#000'
     69                 }
     70             },
     71             tooltip: {
     72                 show: true,
     73                 trigger: 'axis',
     74             },
     75             xAxis: {
     76                 name: param.xName,
     77                 nameTextStyle: {
     78                     color: ['#000']
     79                 },
     80                 data: param.xData,
     81                 axisLabel: {
     82                     textStyle: {
     83                         color: '#000'
     84                     }
     85                 },
     86                 axisTick: {
     87                     show: false
     88                 },
     89                 axisLine: {
     90                     show: true,
     91                     lineStyle: {
     92                         color: ['#ddd']
     93                     }
     94                 },
     95                 z: 10
     96             },
     97             yAxis: {
     98                 name: param.yName,
     99                 nameTextStyle: {
    100                     color: ['#000']
    101                 },
    102                 axisLine: {
    103                     show: true,
    104                     lineStyle: {
    105                         color: ['#ddd']
    106                     }
    107                 },
    108                 axisTick: {
    109                     show: false,
    110                 },
    111                 splitLine: {
    112                     show: false,
    113                 },
    114                 axisLabel: {
    115                     textStyle: {
    116                         color: '#000'
    117                     }
    118                 }
    119             },
    120             series: [{
    121                 data: param.yData,
    122                 type: 'line',
    123                 symbol: 'circle',
    124                 symbolSize: 5,
    125                 lineStyle: {
    126                     normal: {
    127                         color: '#7baaf3 ',
    128                          2,
    129                         type: 'solid'
    130                     }
    131                 },
    132                 itemStyle: {
    133                     normal: {
    134                         color: '#7baaf3'
    135                     }
    136                 },
    137                 z:11
    138             }]
    139         };
    140         option[2] = {
    141             title: {
    142                 left: 'center',
    143                 text: param.title
    144             },
    145             tooltip: {
    146                 trigger: 'axis',
    147             },
    148             legend: {
    149                 right:0,
    150                 data:param.tName,
    151             },
    152             grid: {
    153                 left: '3%',
    154                 right: '4%',
    155                 bottom: '3%',
    156                 containLabel: true
    157             },
    158             xAxis: {
    159                 boundaryGap: false,
    160                 data:param.xData
    161             },
    162             yAxis: {
    163                 name: param.yName,
    164                 //splitLine: { show: false },
    165             },
    166             series:param.yData
    167         }
    168         option[3] = {
    169             title: {
    170                 text: param.title,
    171                 x: 'center',
    172                 y: '20px',
    173                 textStyle: {
    174                     fontSize: 18,
    175                     color: '#000'
    176                 }
    177             },
    178             tooltip: {
    179                 show: true,
    180                 trigger: 'axis',
    181                 formatter: function(params){      
    182                     var text_Unit ='';     
    183                     for(var i = 0;i < params.length;i++){
    184                         text_Unit +=  params[i].seriesName +'' +params[i].value + param.Unit + "</br>"
    185                     }    
    186                         return params[0].name + "</br>" + text_Unit;                      
    187                 }
    188             },
    189             legend: {
    190                 right: '10px',
    191                 data: param.tName,
    192             },
    193             xAxis: {
    194                 name: param.xName,
    195                 nameTextStyle: {
    196                     color: ['#000']
    197                 },
    198                 data: param.xData,
    199                 axisLabel: {
    200                     textStyle: {
    201                         color: '#000'
    202                     }
    203                 },
    204                 axisTick: {
    205                     show: false
    206                 },
    207                 axisLine: {
    208                     show: true,
    209                     lineStyle: {
    210                         color: ['#ddd']
    211                     }
    212                 },
    213             },
    214             yAxis: {
    215                 name: param.yName,
    216                 nameTextStyle: {
    217                     color: ['#000']
    218                 },
    219                 axisLine: {
    220                     show: true,
    221                     lineStyle: {
    222                         color: ['#ddd']
    223                     }
    224                 },
    225                 axisTick: {
    226                     show: false,
    227                 },
    228                 splitLine: {
    229                     show: false,
    230                 },
    231                 axisLabel: {
    232                     textStyle: {
    233                         color: '#000'
    234                     }
    235                 }
    236             },   
    237             series:param.yData
    238         };
    239         option[4] = {
    240             title: {
    241                 text: param.title,
    242                 x: 'center',
    243                 y: '20px',
    244                 textStyle: {
    245                     fontSize: 18,
    246                     color: '#000'
    247                 }
    248             },
    249             tooltip: {
    250                 show: true,
    251                 trigger: 'axis',
    252                 axisPointer:{
    253                     type:"cross",
    254                     crossStyle:{
    255                         color:"#999"
    256                     }
    257                 }
    258             },
    259             legend: {
    260                 right: '10px',
    261                 data: param.tName,
    262             },
    263             xAxis: {
    264                 name: param.xName,
    265                 nameTextStyle: {
    266                     color: ['#000']
    267                 },
    268                 data: param.xData,
    269                 axisLabel: {
    270                     textStyle: {
    271                         color: '#000'
    272                     }
    273                 },
    274                 axisTick: {
    275                     show: false
    276                 },
    277                 axisLine: {
    278                     show: true,
    279                     lineStyle: {
    280                         color: ['#ddd']
    281                     }
    282                 },
    283                 z: 13,
    284             },
    285             yAxis: {
    286                 name: param.yName,
    287                 nameTextStyle: {
    288                     color: ['#000']
    289                 },
    290                 axisLine: {
    291                     show: true,
    292                     lineStyle: {
    293                         color: ['#ddd']
    294                     }
    295                 },
    296                 axisTick: {
    297                     show: false,
    298                 },
    299                 splitLine: {
    300                     show: false,
    301                 },
    302                 axisLabel: {
    303                     textStyle: {
    304                         color: '#000'
    305                     }
    306                 }
    307             },  
    308             series: param.yData,
    309         };
    310         option[5] = {
    311             visualMap: [{
    312                 show: false,
    313                 top: 20,
    314                 right: 10,
    315                 default:10,
    316                 pieces:[{
    317                     gt: 0,
    318                     lte: num,
    319                     color: '#ffde33'
    320                 },{
    321                     gt: num,
    322                     lte: max,
    323                     color: '#f00'
    324                 }],
    325                 outOfRange: {           // 超出范围
    326                     color: '#f00'
    327                 }
    328             }],
    329             title: [{
    330                 top: '',
    331                 left: 'center',
    332                 text: param.title,
    333             }],
    334             tooltip: {
    335                 trigger: 'axis',
    336                 formatter: function(params){    
    337                     var text_Unit ='';     
    338                     for(var i = 0;i < params.length;i++){
    339                         text_Unit += params[i].value + param.Unit + "</br>"
    340                     }    
    341                         return params[0].name + "</br>" + text_Unit;                      
    342                 }
    343             },
    344             xAxis: [{
    345                 data: xData,
    346                 gridIndex: 1,
    347             }],
    348             yAxis: [{
    349                 name: param.yName,
    350                 splitLine: { show: false },
    351                 gridIndex: 1,
    352             }],
    353             grid: [{
    354                 bottom: '',
    355             }, {
    356                 top: '20%',
    357             }],
    358             series: {
    359                 type: 'line',
    360                 showSymbol: false,
    361                 data: data,
    362                 markLine: {
    363                     silent: true,
    364                     data: [{
    365                         yAxis: num
    366                     },]
    367                 }
    368             }
    369         };
    370         option[6] = {  
    371             title: {
    372                 left: 'center',
    373                 text: param.title
    374             },
    375             tooltip: {
    376                 trigger: 'axis',
    377             },
    378             legend: {
    379                 right:0,
    380                 data:param.tName,
    381             },
    382             grid: {
    383                 left: '3%',
    384                 right: '4%',
    385                 bottom: '3%',
    386                 containLabel: true
    387             },
    388             xAxis: {
    389                 boundaryGap: false,
    390                 data:param.xData
    391             },
    392             yAxis: {
    393                 name: param.yName,
    394                 splitLine: { show: false },
    395                 
    396             },
    397             series: []
    398         }
    399         option[6].series.push(
    400             {
    401                 name: '平行于y轴的趋势线',
    402                 type: 'line',
    403                 //data:[0],
    404                 markLine: {
    405                     silent: true,
    406                     data: [{
    407                         yAxis: num
    408                     }]
    409                 }
    410             }
    411         )
    412         if( param.option_type == 6){
    413             for( var item in param.yData){
    414                 var obj ={
    415                     name: param.yData[item].name,
    416                     type: 'line',
    417                     color:param.yData[item].color,
    418                     data: param.yData[item].data
    419                 }
    420                 option[6].series.push(obj)
    421             }
    422         }
    423         option[7] = {  
    424             visualMap: [{
    425                 show: false,
    426                 top: 20,
    427                 right: 10,
    428                 default:10,
    429                 pieces:[{
    430                     gt: 0,
    431                     lte: num,
    432                     color: '#ffde33'
    433                 },{
    434                     gt: num,
    435                     lte: max,
    436                     color: '#f00'
    437                 }],
    438                 outOfRange: {           // 超出范围
    439                     color: '#f00'
    440                 }
    441             }],
    442             dataZoom: [
    443                 {
    444                     startValue:'2019-03-21',
    445                 },
    446                 {
    447                     type: 'inside',
    448                    
    449                 }
    450             ],
    451             title: [{
    452                 top: '',
    453                 left: 'center',
    454                 text: param.title,
    455             }],
    456             tooltip: {
    457                 trigger: 'axis',
    458                 formatter: function(params){    
    459                     var text_Unit ='';     
    460                     for(var i = 0;i < params.length;i++){
    461                         text_Unit += params[i].value + param.Unit + "</br>"
    462                     }    
    463                         return params[0].name + "</br>" + text_Unit;                      
    464                 }
    465             },
    466             xAxis: [{
    467                 data: xData,
    468                 gridIndex: 1,
    469             }],
    470             yAxis: [{
    471                 name: param.yName,
    472                 splitLine: { show: false },
    473                 gridIndex: 1,
    474             }],
    475             grid: [{
    476                 bottom: '',
    477             }, {
    478                 top: '20%',
    479             }],
    480             series: {
    481                 type: 'line',
    482                 showSymbol: false,
    483                 data: data,
    484                 markLine: {
    485                     silent: true,
    486                     data: [{
    487                         yAxis: num
    488                     },]
    489                 }
    490             }
    491         };
    492         option[8] = {
    493             // Make gradient line here
    494             visualMap: [{
    495                 show: false,
    496                 type: 'continuous',
    497                 seriesIndex: 0,
    498                 dimension: 0,
    499                 min: 0,
    500                 max: xData.length - 1
    501             }],
    502             title: [{
    503                 top: '',
    504                 left: 'center',
    505                 text: param.title
    506             }],
    507             dataZoom: [
    508                 {
    509                     startValue:startValue,
    510                 },
    511                 {
    512                     type: 'inside',
    513                    
    514                 }
    515             ],
    516             tooltip: {
    517                 trigger: 'axis',
    518                 formatter: function(params){    
    519                     var text_Unit ='';     
    520                     for(var i = 0;i < params.length;i++){
    521                         text_Unit += params[i].value + param.Unit + "</br>"
    522                     }    
    523                         return params[0].name + "</br>" + text_Unit;                      
    524                 }
    525             },
    526             xAxis: [{
    527                 data: xData,
    528                 gridIndex: 1,
    529             }],
    530             yAxis: [{
    531                 name: param.yName,
    532                 splitLine: { show: false },
    533                 gridIndex: 1,
    534             }],
    535             grid: [{
    536                 bottom: '',
    537             }, {
    538                 top: '20%',
    539             }],
    540             series: [{
    541                 type: 'line',
    542                 showSymbol: false,
    543                 data: data
    544             }]
    545         };
    546 
    547         option[9] = {
    548             title: {
    549                 text: param.title,
    550                 x: 'center',
    551                 y: '20px',
    552                 textStyle: {
    553                     fontSize: 18,
    554                     color: '#000'
    555                 }
    556             },
    557             tooltip: {
    558                 show: true,
    559                 trigger: 'axis',
    560                 formatter: function(params){      
    561                     var text_Unit ='';     
    562                     for(var i = 0;i < params.length;i++){
    563                         text_Unit +=  params[i].seriesName +'' +params[i].value + param.Unit + "</br>"
    564                     }    
    565                         return params[0].name + "</br>" + text_Unit;                      
    566                 }
    567             },
    568             legend: {
    569                 right: '10px',
    570                 data: param.tName,
    571             },
    572             dataZoom: [     // 主要是这一部分,他是折线图的缩放功能的开启  
    573                 {
    574                     startValue:startValue,    // 起始位置
    575                 },
    576                 {
    577                     type: 'inside',
    578                    
    579                 }
    580             ],
    581             xAxis: {
    582                 name: param.xName,
    583                 nameTextStyle: {
    584                     color: ['#000']
    585                 },
    586                 data: param.xData,
    587                 axisLabel: {
    588                     textStyle: {
    589                         color: '#000'
    590                     }
    591                 },
    592                 axisTick: {
    593                     show: false
    594                 },
    595                 axisLine: {
    596                     show: true,
    597                     lineStyle: {
    598                         color: ['#ddd']
    599                     }
    600                 },
    601             },
    602             yAxis: {
    603                 name: param.yName,
    604                 nameTextStyle: {
    605                     color: ['#000']
    606                 },
    607                 axisLine: {
    608                     show: true,
    609                     lineStyle: {
    610                         color: ['#ddd']
    611                     }
    612                 },
    613                 axisTick: {
    614                     show: false,
    615                 },
    616                 splitLine: {
    617                     show: false,
    618                 },
    619                 axisLabel: {
    620                     textStyle: {
    621                         color: '#000'
    622                     }
    623                 }
    624             },   
    625             series:param.yData
    626         };
    627 
    628         return option[param.option_type];
    629     }
    630 }

    饼形图.js

     1 export default {
     2     /**
     3     * 饼形图
     4     */
     5     pie(param) {
     6         let option = [];
     7         option[0] = {
     8             tooltip: {
     9                 trigger: 'item',
    10                 formatter: "{a} <br/>{b}: {c} ({d}%)"
    11             },
    12             series: [
    13                 {
    14                     name: param.title,
    15                     type: 'pie',
    16                     radius: ['50%', '70%'],
    17                     avoidLabelOverlap: false,
    18                     label: {
    19                         normal: {
    20                             show: false,
    21                             position: 'center'
    22                         },
    23                         emphasis: {
    24                             show: true,
    25                             textStyle: {
    26                                 fontSize: '30',
    27                                 fontWeight: 'bold'
    28                             }
    29                         }
    30                     },
    31                     labelLine: {
    32                         normal: {
    33                             show: false
    34                         }
    35                     },
    36                     data: [
    37                         { value: 335, name: '使用' },
    38                         { value: 310, name: '未使用' }
    39                     ]
    40                 }
    41             ]
    42         };
    43         option[1]={
    44             title: {
    45                 text: param.title,
    46                 left: 'center'
    47             },
    48             tooltip : {
    49                 trigger: 'item',
    50                 formatter: "{b} : {c} ({d}%)"
    51             },
    52             legend: {   
    53                 bottom: 10,
    54                 left: 'center',
    55                 data: param.tName
    56             },
    57             series : [
    58                 {
    59                     type: 'pie',
    60                     radius : '65%',
    61                     center: ['50%', '50%'],
    62                     data:param.data,
    63                     itemStyle: {
    64                         emphasis: {
    65                             shadowBlur: 10,
    66                             shadowOffsetX: 0,
    67                             shadowColor: 'rgba(0, 0, 0, 0.5)'
    68                         }
    69                     }
    70                 }
    71             ]
    72         }
    73         return option[param.option_type];
    74     }
    75 }

    中国地图.js

      1     export default{
      2         /**
      3          * 地图
      4          * title 标题
      5          * data  数据
      6          * mapName 地图类型
      7          * geoCoordMap 经纬度
      8          */
      9         mapOfChina(param){
     10             var convertData = function(data) {
     11                 var res = [];
     12                 for (var i = 0; i < data.length; i++) {
     13                     var geoCoord = param.geoCoordMap[data[i].name];
     14                     if (geoCoord) {
     15                         res.push({
     16                             name: data[i].name,
     17                             value: geoCoord.concat(data[i].value),
     18                         });
     19                         
     20                     }
     21                 }
     22                 return res;
     23             };
     24             var max = 480, min = 9; // todo 
     25             var maxSize4Pin = 100, minSize4Pin = 20;
     26             // 秋雁南飞:
     27             // 此版本通过设置geoindex && seriesIndex: [1] 属性来实现geo和map共存,来达到hover散点和区域显示tooltip的效果
     28             // 默认情况下,map series 会自己生成内部专用的 geo 组件。但是也可以用这个 geoIndex 指定一个 geo 组件。这样的话,map 和 其他 series(例如散点图)就可以共享一个 geo 组件了。并且,geo 组件的颜色也可以被这个 map series 控制,从而用 visualMap 来更改。
     29             // 当设定了 geoIndex 后,series-map.map 属性,以及 series-map.itemStyle 等样式配置不再起作用,而是采用 geo 中的相应属性。
     30             // http://echarts.baidu.com/option.html#series-map.geoIndex
     31             // 并且加了pin气泡图标以示数值大小
     32             // 全局变量区:参考江西绿色金融(谢谢:本来想用闭包实现接口数据调用,没时间了)
     33 
     34             // 本图作者:参考秋雁南飞的《投票统计》一图,网址:http://gallery.echartsjs.com/editor.html?c=xrJU-aE-LG
     35             var nameColor = "rgb(55, 75, 113)"
     36             var name_fontFamily = '等线'
     37             var name_fontSize = 26;
     38             var maxNum = param.data.sort(function(a, b) {
     39                 return b.value - a.value;
     40             }).slice(0, 1)[0].value;  
     41             var one,two,three,four;
     42             param.data.sort(function(a, b) {
     43                 return b.value - a.value;
     44             }).map((x,index)=>{
     45                 if(index===5){
     46                     one = x.value;
     47                 }
     48                 if(index===14){
     49                     two = x.value;
     50                 }
     51                 if(index===22){
     52                     three = x.value;
     53                 }
     54                 if(index===30){
     55                     four = x.value;
     56                 }
     57             })
     58 
     59             let option = {
     60                 title: {
     61                     text: param.title,
     62                     x: 'center',
     63                     y:20,
     64                     textStyle: {
     65                         color: nameColor,
     66                         fontFamily: name_fontFamily,
     67                         fontSize: name_fontSize
     68                     }
     69                 },
     70                 tooltip: {
     71                     trigger: 'item',
     72                     formatter:function(params) {
     73                         var toolTiphtml = '';
     74                         for(var i = 0;i<param.data.length;i++){
     75                             if(params.name==param.data[i].name){
     76                                 toolTiphtml += (param.data[i].name+':'+param.data[i].value+'')
     77                             }
     78                         }
     79                         return toolTiphtml;
     80                     }
     81                 },
     82                 // visualMap: 
     83                 //     {
     84                 //     show: true,
     85                 //     min: 0,
     86                 //     max: maxNum,
     87                 //     left: 'left',
     88                 //     bottom:100,
     89                 //     text: ['高', '低'], // 文本,默认为数值文本
     90                 //     calculable: true,
     91                 //     seriesIndex: [1],
     92                 //     inRange: {
     93                 //         color: ['#f1f1f1','#c3e5ff','#0aa4dd','#1b57bc']
     94                 //     }
     95                 // },
     96                 /*工具按钮组*/
     97                 toolbox: {
     98                     show: true,
     99                     orient: 'vertical',
    100                     right: 20,
    101                     top: 'center',
    102                     itemGap:20,
    103                     feature: {
    104                         dataView: {
    105                             readOnly: false
    106                         },
    107                         restore: {},
    108                         saveAsImage: {},
    109                         myTool1: {  
    110                             show: true,  
    111                             title: param.startRoam?'关闭缩放':'开启缩放',  
    112                             icon: 'path://M444.58034998 309.80516673c9.31358834 0 17.26276527 3.29732647 23.82775732 9.78816585 6.61937049 6.68857977 9.89197942 14.51911231 9.89197942 23.89202248v67.35543407h67.42958671c9.31358834 0 17.23310436 3.2923831 23.84753146 9.98590696 6.56004866 6.59465294 9.87714932 14.5240564 9.8771486 23.79315231 0 9.26909662-3.31710066 17.30231363-9.8771486 23.79315228-6.61442712 6.58970958-14.53394314 9.88703605-23.84753146 9.88703679h-67.42958671v67.45430425c0 9.26909662-3.27260892 17.20344271-9.89692351 23.89696658-6.56004866 6.48589603-14.50922558 9.88703605-23.82281323 9.88703605-9.29875753 0-17.26276527-3.40114076-23.82281391-9.88703605-6.62431458-6.69846723-9.8969235-14.62786996-9.89692351-23.89696658V478.30003747h-67.42958671c-9.31358834 0-17.23310436-3.29732647-23.84258739-9.88703679-6.56004866-6.49083938-9.87714932-14.5240564-9.87714933-23.79315228 0-9.26909662 3.31215729-17.20344271 9.87714933-23.79315231 6.60948377-6.69352312 14.53394314-9.98590625 23.84258739-9.98590696h67.42958671V343.48535506c0-9.37291018 3.27755228-17.20344271 9.89692351-23.89696584 6.56004866-6.48589603 14.5240564-9.7832225 23.82775729-9.7832225z m0-101.13449333c-31.96973123 0-62.47618159 6.17939726-91.63305129 18.63706342-29.15686974 12.4626088-54.24522418 29.25079657-75.32932853 50.36456256-21.0593868 21.0099517-37.81791365 46.14279787-50.31512745 75.28978014-12.45272208 29.14203892-18.69144189 59.73252936-18.69144189 91.65776888s6.23871981 62.51572995 18.69144189 91.66271223c12.4972138 29.04316872 29.25079657 54.17107153 50.31512745 75.28483752 21.08410434 21.0099517 46.17245879 37.79813946 75.32932853 50.25580489a230.69915857 230.69915857 0 0 0 91.63305129 18.74582036 230.6645543 230.6645543 0 0 0 91.63305134-18.74087699c29.16675646-12.4626088 54.25016755-29.25079657 75.32932852-50.26074826 21.06433088-21.11376599 37.83274374-46.24166806 50.29535255-75.28978089 12.47249626-29.14203892 18.71121607-59.73252936 18.71121606-91.65776886s-6.23871981-62.51572995-18.71121606-91.66271223c-12.4626088-29.14203892-29.23102238-54.2748851-50.29535255-75.28483679-21.07916097-21.1088219-46.15762871-37.89700965-75.32932852-50.3596192-29.15686974-12.4626088-59.65343262-18.64200679-91.63305134-18.64200678z m0-67.45924762c41.10535267 0 80.3568863 8.03321702 117.84852773 24.09965034 37.47186724 16.06643404 69.70360479 37.59051161 96.76936601 64.67604774 27.06081786 26.98666522 48.58489543 59.22334684 64.631556 96.71004418 16.03677241 37.48669734 24.09965033 76.72340087 24.09965034 117.8188668 0 35.32638027-5.74436812 69.11038289-17.22816027 101.44593473-11.51839716 32.23173827-27.88144177 61.5863484-49.13856968 87.84631578l191.43279413 191.25482792c6.52050031 6.49083938 9.74367413 14.42024212 9.74367412 23.89696658 0 9.67940821-3.20339964 17.71262524-9.60031219 24.19852126-6.41668674 6.38702511-14.43507293 9.58053802-24.08976361 9.58053801-9.48661118 0-17.4901673-3.29732647-23.96617585-9.78816587l-191.2103362-191.45256829c-26.32423404 21.31644973-55.65412661 37.69432517-87.94518671 49.12373886-32.2910601 11.53817134-66.07011937 17.30231363-101.36683799 17.30231363-41.0806351 0-80.38654793-8.03321702-117.83369762-24.09965105-37.46197978-16.06643404-69.7184356-37.69432517-96.77431008-64.67604703-27.04598776-27.09047876-48.59478289-59.22334684-64.64144203-96.71004417C149.2545795 524.95201713 141.23619257 485.61150076 141.21147503 444.51603484c-0.01977419-40.98670828 8.02332956-80.33216873 24.09965105-117.8188668 16.06643404-37.38782714 37.63500335-69.72337897 64.64144203-96.71004418 27.02621357-27.0855354 59.27278195-48.60961371 96.77431008-64.67604774C364.22346298 149.343513 403.49971416 141.21142578 444.56057582 141.21142578h0.01977416z',  
    113                             onclick: function (){  
    114                                 param.renew();
    115                             }  
    116                         },
    117                     },
    118                     emphasis:{
    119                         iconStyle:{
    120                             borderColor:'#3B5077'
    121                         }
    122                     }
    123                 },
    124                 series: [
    125                     // {
    126                     //     name: '散点',
    127                     //     type: 'scatter',
    128                     //     coordinateSystem: 'geo',
    129                     //     data: convertData(param.data),
    130                     //     symbolSize: 10,
    131                     //     label: {
    132                     //         normal: {
    133                     //             formatter: '{b}',
    134                     //             position: 'right',
    135                     //             show: false
    136                     //         },
    137                     //         emphasis: {
    138                     //             show: true
    139                     //         }
    140                     //     },
    141                     //     itemStyle: {
    142                     //         normal: {
    143                     //             color: '#ff0000'
    144                     //         }
    145                     //     }
    146                     // },
    147                     // {
    148                     //     name: '点',
    149                     //     type: 'scatter',
    150                     //     coordinateSystem: 'geo',
    151                     //     symbol: 'pin', //气泡
    152                     //     symbolSize: function(val) {
    153                     //         var a = (maxSize4Pin - minSize4Pin) / (max - min);
    154                     //         var b = minSize4Pin - a * min;
    155                     //         b = maxSize4Pin - a * max;
    156                     //         return a * val[2] + b;
    157                     //     },
    158                     //     label: {
    159                     //         normal: {
    160                     //             show: false,
    161                     //             textStyle: {
    162                     //                 color: '#fff',
    163                     //                 fontSize: 9,
    164                     //             },
    165                     //             formatter:function(params) {
    166                     //                 return params.value[2];
    167                     //             }
    168                     //         }
    169                     //     },
    170                     //     itemStyle: {
    171                     //         normal: {
    172                     //             color: '#F62157', //标志颜色
    173                     //         }
    174                     //     },
    175                     //     zlevel: 6,
    176                     //     data: convertData(param.data),
    177                     // },
    178                     {
    179                         name: 'Top 5',
    180                         type: 'effectScatter',
    181                         coordinateSystem: 'geo',
    182                         data: convertData(param.data.sort(function(a, b) {
    183                             return b.value - a.value;
    184                         }).slice(0, 5)),
    185                         symbolSize: 10,
    186                         showEffectOn: 'render',
    187                         rippleEffect: {
    188                             brushType: 'stroke'
    189                         },
    190                         hoverAnimation: true,
    191                         label: {
    192                             normal: {
    193                                 show: false
    194                             }
    195                         },
    196                         itemStyle: {
    197                             normal: {
    198                                 borderColor:'yellow',
    199                                 shadowBlur: 10,
    200                                 shadowColor: 'yellow'
    201                             },
    202                             emphasis:{
    203 
    204                             }
    205                         },
    206                         zlevel:1
    207                     },
    208                     {
    209                         type: 'map',
    210                         map: param.mapName,
    211                         geoIndex: 0,
    212                         aspectScale: 0.75, //长宽比
    213                         showLegendSymbol: false, // 存在legend时显示
    214                         label: {
    215                             normal: {
    216                                 show: true
    217                             },
    218                             emphasis: {
    219                                 show: false,
    220                                 textStyle: {
    221                                     color: '#fff'
    222                                 }
    223                             }
    224                         },
    225                         roam: param.startRoam,
    226                         animation: false,
    227                         data: param.data
    228                     },
    229                 ],
    230                 dataRange: {
    231                     x: 'left',
    232                     y: 'bottom',
    233                     splitList: [
    234                         {start: one},
    235                         {start: two, end: one},
    236                         {start: three, end: two},
    237                         {start: four, end: three},
    238                         {end: four}
    239                     ],
    240                     color: ['#1678e7','#33a6ff','#70c1fe','#b0deff','#e1f2ff']
    241                 },
    242                 geo: {
    243                     show: true,
    244                     map: param.mapName,
    245                     label: {
    246                         normal: {
    247                             show: false
    248                         },
    249                         emphasis: {
    250                             show: false,
    251                         }
    252                     },
    253                     roam: param.startRoam,
    254                     itemStyle: {
    255                         normal: {
    256                             areaColor: '#f1f1f1',//角落图
    257                             borderColor: '#666',
    258                         },
    259                         emphasis: {
    260                             areaColor: '#FFB321',
    261                         }
    262                     }
    263                 },
    264             }
    265             return option;
    266         }
    267     }

    环形图.js

     1 export default {
     2     /**
     3      * 环形图
     4      * name  名称
     5      * value 已有值
     6      * all   总值
     7      * color 颜色
     8      */
     9     doughnut(query) {
    10         let option = {
    11             title: {
    12                 text: [
    13                     `{a|${query.value}}`,
    14                     `{b| / ${query.all}}`
    15                 ].join(''),
    16                 textStyle: {
    17                     color: query.color,
    18                     rich: {
    19                         a: {
    20                             fontSize: 20,
    21                             color: query.color
    22                         },
    23                         b: {
    24                             fontSize: 12,
    25                             color: '#666'
    26                         }
    27                     }
    28                 },
    29                 x: 'center',
    30                 y: 'center',
    31             },
    32             legend: {
    33                 bottom:0,
    34                 show: true,
    35                 itemGap: 12,
    36                 data: [query.name]
    37             },
    38             series: [{
    39                 name: 'Line 1',
    40                 type: 'pie',
    41                 clockWise: true,
    42                 radius: ['50%', '66%'],
    43                 label: {
    44                     show: false
    45                 },
    46                 labelLine: {
    47                     show: false
    48                 },
    49                 hoverAnimation: false,
    50                 cursor:'auto',
    51                 data: [{
    52                     value: query.value,
    53                     name: query.name,
    54                     itemStyle: {
    55                         normal: {
    56                             color:query.color
    57                         },
    58                         emphasis:{
    59                             color:query.color
    60                         }
    61                     }
    62                 }, {
    63                     name: '02',
    64                     value: query.all>0?(query.all-query.value):null,
    65                     itemStyle: {
    66                         normal: {
    67                             color:'#efefef'
    68                         },
    69                         emphasis:{
    70                             color:'#efefef'
    71                         }
    72                     }
    73                 }]
    74             }]
    75         };
    76         return option;
    77     }
    78 }

    柱状图.js

      1 export default {
      2     /**
      3      * 柱状图
      4      * title 标题
      5      * xData x轴数据
      6      * xName x轴名字
      7      * yData y轴数据
      8      * yTotal 总量
      9      */
     10     bar(param) {
     11         var xData = param.xData;
     12         var data = param.yData
     13         var yMax = (200/data.length)+'%';
     14         //var yMax =100;
     15         var dataShadow = param.yTotal;
     16 
     17         let option = {
     18             title: {
     19                 text: param.title,
     20                 x: 'center',
     21                 y: '10px',
     22                 textStyle: {
     23                     fontSize: 18,
     24                     color: '#000'
     25                 }
     26 
     27             },
     28             tooltip: {
     29                 show: true
     30             },
     31             xAxis: {
     32                 name: param.xName,
     33                 nameTextStyle: {
     34                     color: ['#000'],
     35                 },
     36                 data: xData,
     37                 axisLabel: {
     38                     interval:'0',  //zcg 
     39                     rotate:-20,     //倾斜度
     40                     textStyle: {
     41                         color: '#000'           
     42                     }
     43                 },
     44                 axisTick: {
     45                     show: false
     46                 },
     47                 axisLine: {
     48                     show: false
     49                 },
     50                 z: 10
     51             },
     52             yAxis: {
     53                 name: '',
     54                 nameTextStyle: {
     55                     color: ['#000']
     56                 },
     57                 axisLine: {
     58                     //show: false
     59                     lineStyle: {
     60                         color: ['#ddd']
     61                     }
     62                 },
     63                 axisTick: {
     64                     show: false
     65                 },
     66                 splitLine: {
     67                     lineStyle: {
     68                         color: ['#ddd']
     69                     }
     70                 },
     71                 axisLabel: {
     72                     textStyle: {
     73                         color: '#000'
     74                     }
     75                 }
     76             },
     77             grid: {
     78                 y2: '60px'  //zcg  x轴文字的高度
     79             },
     80             series: [
     81                 { // For shadow
     82                     type: 'bar',
     83                     itemStyle: {
     84                         normal: { color: '#ddd' }
     85                     },
     86                     barGap: '-100%',
     87                     barCategoryGap: '-10%',
     88                     barMaxWidth: yMax,
     89                     data: dataShadow,
     90                     animation: false,
     91                 },
     92                 {
     93                     type: 'bar',
     94                     barMaxWidth: yMax,
     95                     itemStyle: {
     96                         normal: {
     97                             color: "#7baaf3"
     98                         },
     99                         emphasis: {
    100                             color: "#5e96e9"
    101                         }
    102                     },
    103                     data: data
    104                 }
    105             ]
    106         };
    107         return option;
    108     }
    109 }
  • 相关阅读:
    【转】BT5汉化步骤
    创建MySql用户并给用户授权,设置mariadb默认编码,修改mariadb数据存储目录datadir
    《Hadoop实战》陆嘉恒著读书笔记
    org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: org.xml.sax.SAXParseException: The content of elements must consi
    js获取两个日期之间间隔的天数。兼容IE6、7、8、9,Firefox,Chrome
    mac下下载安装Android Studio教程
    Android Studio下载安装教程及开发环境搭建
    【eoe资源】如何让Android ListView的平滑滚动
    安装Android Studio遇到中文乱码的解决方法
    最新android studio注意事项打不开等问题6种解决方法
  • 原文地址:https://www.cnblogs.com/it-Ren/p/10942263.html
Copyright © 2011-2022 走看看