Конфигурация Echart для легенд P ie особым образом - PullRequest
0 голосов
/ 23 апреля 2020

Я хочу отобразить p ie легенды вместе со значением в другом формате. Я прилагаю изображение. Я ищу это, но до сих пор не нашел, как это сделать. Если вы видите изображение, показываются легенды и соответствующее ему значение, которое я не могу скопировать.

Pie legends

1 Ответ

1 голос
/ 23 апреля 2020

Вы хотите отобразить значение вместо процентов? Если да, то это небольшая работа, которую нужно выполнить, потому что по умолчанию компонент легенды не знает о других измерениях ваших данных. Попробуйте начать с этого кода:

var option = {
  //...
  legend: {
    formatter: name => {
      var series = myChart.getOption().series[0];
      var value = series.data.filter(row => row.name === name)[0].value
      return name + '    ' + value;
    },
  }
}

  var myChart = echarts.init(document.getElementById('main'));
  var option = {
    tooltip: {
        trigger: 'item',
        formatter: '{a} <br/>{b}: {c} ({d}%)'
    },
    legend: {
        orient: 'vertical',
        left: 10,
        data: ['Category1', 'Category2', 'Category3', 'Category4', 'Category5'],
        formatter: (name) => {
	        var series = myChart.getOption().series[0];
      		var value = series.data.filter(row => row.name === name)[0].value;
      		return name + '    ' + value;
        },
    },
    series: [
        {
            name: 'Series',
            type: 'pie',
            label: { show: false },
            labelLine: { show: false },
            data: [
                {value: 335,  name: 'Category1'},
                {value: 310,  name: 'Category2'},
                {value: 234,  name: 'Category3'},
                {value: 135,  name: 'Category4'},
                {value: 1548, name: 'Category5'}
            ]
        }
    ]
};


myChart.setOption(option);
<script src="https://cdn.jsdelivr.net/npm/echarts@4.7.0/dist/echarts.min.js"></script>
<div id="main" style="width: 600px;height:400px;"></div>
...