ECharts Baidu, как отображать метки с отрицательным значением как положительное значение?

Я использую ECharts Baidu для создания диаграмм. Я использую диаграмму торнадо, чтобы показать силу левой и правой руки. Сила левой руки отображается слева, а правая рука - справа. Есть ли способ отобразить отрицательное значение метки и оси как положительное? Я всегда могу скрыть значение оси, пока решение может сделать график отрицательным в виде положительной метки, я отмечу его как решение.

https://echarts.baidu.com/echarts2/doc/example/bar5.html#-en

var option= {
        title: {
        },
        grid: {
          top: '10%',
          bottom: '25%',
          left: '20%',
          right: '10%',
        },
        tooltip: { triggerOn: 'click' },
        xAxis: [
          {
            type: 'value',
            name: 'Newton',
            nameLocation: 'center',
            nameTextStyle: {
              padding: 10
            },
          }
        ],
        yAxis: [
          {
            axisTick: { show: false },
            data: ['FEB']
          }
        ],
        barWidth: 40,
        series: [
          {
            type: 'bar',
            stack: 'feb',
            label: {
              normal: {
                show: true,
                position: 'top',
              }
            },
            data: [{ value: Number(data2[0].left) * -1 }],  //the value is from the ajax call
            itemStyle: { color: 'gray' }
          },
          {
            type: 'bar',
            stack: 'feb',
            label: {
              normal: {
                show: true,
                position: 'top'
              }
            },
            data: [Number(data2[0].right)],
            itemStyle: { color: '#F26718' },
          },
        ],
        textStyle: {
          fontWeight: 'bold',
          color: 'black'
        }
      }
      chart.setOption(option);
    })

введите здесь описание изображения


person calvert    schedule 06.02.2019    source источник


Ответы (1)


попробуйте с этим:

label: {
    normal: {
        show: true,
        position: 'top',
        formatter: function (params) {
            return Math.abs(params.value[1]);
        }
    }   
}

в этом примере предполагается, что данные, которые вы передали в диаграмму, представляют собой массив типа [x, y]. если ваши входные данные отличаются, поместите точку останова внутри функции форматирования и посмотрите, как структурированы «параметры».

person retrobitguy    schedule 28.08.2019