echart 柱状图 两个纵轴坐标 刻度不一样

在使用echart的过程中, 有的时候柱状图会使用两个纵坐标, 如果两个纵坐标的最大值是一样的还好,这样刻度也会一样. 但是多数情况下最大值是不一样的, 这样就造成了,刻度线很乱,显示不均匀.

解决办法:

使用max , splitNumber, interval 三个属性配合

{
            type: "value",
            name: "订单量",
            position: "left",
            axisTick: {
              show: true
            },
            axisLine: {
              show: true,
              onZero: true,
              lineStyle: {
                color: "#999"
              }
            },
            axisLabel: {
              formatter: "{value}"
            },
            splitLine: { show: true },
            min: 0,
            max: 1,
            splitNumber: 5
            interval: "",
          },

  赋值最大值, 分割刻度:

        let max0 = data.max_count;
        if(data.max_count < 1){
          this.orderOption.yAxis[0].max = 1
        }else{
          for(let i=0; i<10; i++){
              if( max0/Math.pow(10, i) <10){
                    this.orderOption.yAxis[0].max = Math.ceil(max0/Math.pow(10, i)) * Math.pow(10, i)
                    this.orderOption.yAxis[0].interval = (Math.ceil(max0/Math.pow(10, i)) * Math.pow(10, i))/5
                    break;
                }
          }
        }

  这里的for循环可以用递归的, 但是递归不太会写所以就用for循环代替, 不知道有没有大神出来指导一下的

上一篇:echart面积图不同区域用不同的颜色表示


下一篇:关于echart中使用width:100%与display:none中图表不能正常显示的问题