Echart 配置不允许我在图例符号中居中图例文本

Echart configuration not allowing me to center legend text inside legend symbol

我正在使用 echart 进行反应,我有一个要求,我需要在图例符号内将图例文本居中。 None 的配置似乎适用于此目的。

目前我的图例配置是::


legend: {
      orient: "horizontal",
      top: "0",
      left: "40px",
      itemWidth: 90,
      itemHeight: 20,
      textStyle: {
        lineHeight: 60,
        backgroundColor: "yellow",
        align: "center"
      },
      data: ["Orders Total", "Pending Payments", "Visits"]
    },

我怎样才能做到这一点?

我也附上截图。

据我所知,没有简单的方法可以根据需要更改图例标签,但您可以设置类似提供的屏幕截图的设置:首先定义数据,然后将其拆分为 legendseries 分开。隐藏 legend icon 并自定义项目样式。

dataSet = [
 { name: 'Category1', value: 335, color: '#e0ffd7' },
 { name: 'Category2', value: 310, color: '#e494ac' },
 { name: 'Category3', value: 234, color: '#8cf4ce' },
 { name: 'Category4', value: 135, color: '#37d5da' }
];

var option = {
  legend: {
    orient: 'horizontal',
  center: 'center',
  icon: 'none',
  textStyle: {
   padding: [4, 20, 4, 20],
   borderRadius: 4
  },
    data: dataSet.map( ({name, color}) => ({ name, textStyle: { backgroundColor: color }}) ),
  },
  series: [
    {
      name: 'Categories:',
      type: 'pie',
      radius: ['50%', '70%'],
      label: { show: false, position: 'center' },
      data: dataSet.map( ({name, value, color}) => ({ name, value, itemStyle: { color: color } }) ),
  }
  ]
};

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