【Flask + ECharts】ECharts正反条形图X轴都设置成正数

ECharts正反条形图X轴都设置成正数

我们的原网页设置如下

    option = {
	  title:{
        text:"部分专业最高分和最低分"
       },
      dataZoom: {
        start: 0,
        type: "inside"
       },
      tooltip: {
        trigger: 'axis',
        axisPointer: {
          type: 'shadow'
        }
      },
      legend: {},
      grid: {
        left: '3%',
        right: '4%',
        bottom: '3%',
        containLabel: true
      },
      xAxis: [
        {
          type: 'value'
        }
      ],
      yAxis: [
        {
          type: 'category',
          axisTick: {
            show: false
          },
          data: major
        }
      ],
      series: [
        {
          name: '最高分',
          type: 'bar',
          stack: 'Total',
          label: {
            show: true
          },
          emphasis: {
            focus: 'series'
          },
          data: max_score
        },
        {
          name: '最低分',
          type: 'bar',
          stack: 'Total',
          label: {
            show: true,
            position: 'left'
          },
          emphasis: {
            focus: 'series'
          },
          data: min_score
        }
      ]
    };

其结果展示如下所示
在这里插入图片描述
现在我们需全部都设置为正数

先设置坐标轴

      xAxis: [
        {
          type: 'value',
              axisLabel: {
          formatter: (value) => {
            // 负数取反 显示的就是正数了
            if (value < 0) return -value
            else return value
              }
          }
        }
      ],

在这里插入图片描述
再设置显示的值为正数

      series: [
        {
          name: '最高分',
          type: 'bar',
          stack: 'Total',
          label: {
            show: true,
    
          },
          emphasis: {
            focus: 'series'
          },
          data: max_score
        },
        {
          name: '最低分',
          type: 'bar',
          stack: 'Total',
          label: {
            show: true,
            position: 'left',
                  formatter: (value) => {
            // 值都是负数的 所以需要取反一下
            return -value.data
        }
          },
    
          emphasis: {
            focus: 'series'
          },
          data: min_score
        }
      ]

在这里插入图片描述
如果设置了提示框,我们需要修改

      tooltip: {
        trigger: 'axis',
        axisPointer: {
          type: 'shadow'
        },
          formatter: (params) => {
        if (!params.length) return ''
        let s = params[0].axisValueLabel + '<br/>'
        for (const iterator of params) {
          // 如果是负数则反转
          let d = iterator.data < 0 ? -iterator.data : iterator.data
          s += iterator.marker + iterator.seriesName + ':' + d  + '<br/>'
        }
        return s
      }
      },

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值