最近项目中遇到这样一个问题,如下图:
在这里插入图片描述
由于容器太宽,数据量不多,导致每一个x轴的间距都特别大,还导致了柱状图超过了坐标轴。这个轴由于使用的是类目轴,首先我想到的是用留白属性,就把 boundaryGap设置为true

        xAxis: {
          type: 'category',
          boundaryGap: true,//设置为true
          data: _xAxis,
          axisLabel: {
            color: '#000000'
          },
          axisLine: {
            onZero: false,
            lineStyle: {
              color: '#D9D9D9'
            }
          }
          axisTick: {
          alignWithLabel: true//类目轴中在 boundaryGap 为 true 的时候有效,
          //可以保证刻度线和标签对齐,不设置会出现柱状图不在刻度线中间
          }
        },

但是这样做,折线图到坐标轴留白太多了,echarts类目轴的只有true和false两种,faLse就是贴边没有边距,true就是如图的间距。如图
在这里插入图片描述
也很不美观,所以不采用boundaryGap 设置为true,还是设置为false,然后采用了下面这个方法
y轴有一个offset属性,坐标轴grid也是可以控制距离的,series里面也有一个barWidth属性可以控制柱状图的宽度,首先可以控制grid让坐标轴往里面移,如图
在这里插入图片描述
然后控制y轴属性offset让y轴往外移动,然后设置series里面也有一个barWidth属性让柱状图变窄,因为这个柱状图是不同场景的数据,还进行了判断给值。

//部分属性设置代码
  offset: this.dataType === 'forecast' ? 50 : 24,
  barWidth: this.dataType === 'forecast' ? '50' : '',
  grid: {
     x: this.dataType === 'forecast' ? 80 : 60,
     y: 50,
     x2: this.dataType === 'forecast' ? 80 : 50,
     y2: 15,
     containLabel: true
   },


下面是修改后的图
在这里插入图片描述
在这里插入图片描述

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐