首页 > 解决方案 > 如何在echart中为饼图的多个值添加格式化工具提示

问题描述

我正在使用 echart 饼图,但我想在工具提示中显示多条记录。

option = {
    tooltip: {
        trigger: 'item',
        formatter: '{a} <br/>{b} : {c} ({d}%), <br/>{name1} : {value1} '
    },
    legend: {
        orient: 'vertical',
        left: 'left',
        data: ['aa', 'bb', 'cc', 'dd', 'ee']
    },
    series: [
        {
            name: 'text name',
            type: 'pie',
            radius: '55%',
            center: ['50%', '60%'],
            data: [
                {value: 335, name: 'aa',value1: 335, name1: 'xx'},
                {value: 310, name: 'bb',value1: 335, name1: 'yy'},
                {value: 234, name: 'cc',value1: 335, name1: 'zz'},
                {value: 135, name: 'dd',value1: 335, name1: 'ww'},
                {value: 1548, name: 'ee',value1: 335, name1: 'vv'}
            ],
        }
    ]
};

我试过这个格式化程序:'{a}
{b} : {c} ({d}%),
{e} : {f} ({g}%)' 和 '<%=name%>:<% = value %><%\n%><%=name1%>:<%= value1%><%\n%><%=name2%>:<%= value2 %>' 这个链接:https:// echarts.apache.org/examples/en/editor.html?c=pie-simple

在此处输入图像描述

标签: echarts

解决方案


如果要自定义工具提示,则可以对格式化程序属性使用回调函数并访问所有相关数据。我为您创建了一个演示,如果您遇到任何问题,请告诉我。

// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));

option = {
  tooltip: {
    trigger: 'item',
    formatter: function (params) {
      
      return `${params.seriesName}<br />
              ${params.name}: ${params.data.value} (${params.percent}%)<br />
              ${params.data.name1}: ${params.data.value1}`;
    }
  },
  legend: {
    orient: 'vertical',
    left: 'left',
    data: ['aa', 'bb', 'cc', 'dd', 'ee']
  },
  series: [{
    name: 'text name',
    type: 'pie',
    radius: '55%',
    center: ['50%', '60%'],
    data: [{
        value: 335,
        name: 'aa',
        value1: 335,
        name1: 'xx'
      },
      {
        value: 310,
        name: 'bb',
        value1: 335,
        name1: 'yy'
      },
      {
        value: 234,
        name: 'cc',
        value1: 335,
        name1: 'zz'
      },
      {
        value: 135,
        name: 'dd',
        value1: 335,
        name1: 'ww'
      },
      {
        value: 1548,
        name: 'ee',
        value1: 335,
        name1: 'vv'
      }
    ],
  }]
};

// use configuration item and data specified to show chart
myChart.setOption(option);
<script src="https://cdnjs.cloudflare.com/ajax/libs/echarts/3.7.2/echarts.min.js"></script>
<div id="main" style="width: 600px;height:400px;"></div>


推荐阅读