Welcome

首页 / 脚本样式 / Echarts / echarts用formatter自定义悬停内容

  tooltip: {

            trigger: 'item',

            formatter: function(params) {

              // console.log(params);

              var data=params.data;

              return data.name +":"+data.value +'<br/>'+data.other

            }

          },

 tooltip: {

        trigger: 'item',

        formatter: '{b}:{c}: ({d}%)',

      },

字体大小以及各项数值占比都在lable的normal{}中配置,在formatter中配置各项显示数值百分比等,


其中{b}表示各项名称,此项配置为默认显示项,{c}表示此项的数量显示,默认不显示,({d}%)表示此项占比,默认不显示。


getfoodlaiyuan() {

        var chartDom = document.getElementById('foodlaiyuan');

        var myChart = echarts.init(chartDom);

        var option;

        var data = [{

            value: 1048,

            name: '学校/幼托机构',

            rate: '11%',

            other: '抽查合格率:86.4%'

          },

          {

            value: 735,

            name: '医院/养老机构',

            rate: '14%',

            other: '抽查合格率:86.4%'

          },

          {

            value: 580,

            name: '建筑工地',

            rate: '11%',

            other: '抽查合格率:86.4%'

          },

          {

            value: 484,

            name: '旅游景区/服务区',

            rate: '7%',

            other: '抽查合格率:86.4%'

          },

          {

            value: 300,

            name: '车站/民航机场',

            rate: '8%',

            other: '抽查合格率:86.4%'

          },

          {

            value: 484,

            name: '保健食品/特殊医学配方食品 ',

            rate: '22%',

            other: '抽查合格率:86.4%'

          },

          {

            value: 300,

            name: '进口食品 ',

            rate: '27%',

            other: '抽查合格率:86.4%'

          }

        ]


        option = {

          tooltip: {

            trigger: 'item',

            formatter: function(params) {

              // console.log(params);

              var data = params.data;

              return data.name + ":" + data.value + '<br/>' + data.other

            }

          },

          legend: {

            formatter: function(name) {

              var target;

              data.forEach(function(value) {

                if (name == value.name) {

                  target = value.rate

                }

              })

              return name + "  " + target


            },

            orient: 'vertical',

            right: 0,

            textStyle: {

              color: '#fff'

            },

          },


          series: [{

            // name: '食品来源场所:',

            type: 'pie',

            radius: ['50%', '70%'], //控制内容大小

            center: ['20%', '40%'], //圆形居中

            avoidLabelOverlap: false,

            label: {

              show: true,

              position: 'center',

              normal: {

                show: true,

                position: 'center',

                formatter: function() {

                  return ' 3124'

                },

                textStyle: {

                  fontSize: 14,

                  color: "#fff",

                  fontWeight: 'bold',

                  fontStyle: 'oblique'

                }

              },

            },

            emphasis: {

              // label: {

              //   show: false,

              //   fontSize: '10',

              //   color: '#fff'

              // }

            },

            labelLine: {

              show: true

            },

            data: data

          }]

        };


        option && myChart.setOption(option);

      },