Echarts绘制柱状图

在使用Echarts绘制柱状图时,想在某一区间实现高亮显示,如图所示,请教下该如何实现?

img

通过markArea实现

option = {
  xAxis: {
    type: 'category',
    data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
  },
  yAxis: {
    type: 'value'
  },
  series: [
    {
      data: [120, 200, 150, 80, 70, 110, 130],
      type: 'bar',
      markArea: {
        data: [
          [
            {
              coord: ['Mon', 50]
            },
            {
              coord: ['Sun', 100]
            }
          ]
        ]
      }
    }
  ]
};

img


https://img-blog.csdnimg.cn/dd2b5e438b4749edb8f0414386cf1ae4.png#pic_center


data.forEach((item) => {
    let a = item.value1 - item.value2
    if (a > 5 || a<-5) {
        this.chartOption.series[0].data.push({
            value: item.value1,
            isSlant: item.isSlant,
            itemStyle: {
                shadowColor: 'rgba(255, 255, 0)',
                shadowBlur: 10,
                borderColor: 'rgba(255, 255, 0,0.9)',
                borderWidth: 1
            }
        });
    } else {
        this.chartOption.series[0].data.push({
            value: item.value1,
            isSlant: item.isSlant,
        });
    }
})

可以使用Echarts的markArea属性来实现在某一区间的高亮显示。markArea属性可以用来绘制矩形区域,通过设置其data属性来指定需要高亮显示的区间范围。

以下是一个示例代码:

option = {
  xAxis: {
    type: 'category',
    data: ['A', 'B', 'C', 'D', 'E', 'F']
  },
  yAxis: {
    type: 'value'
  },
  series: [{
    type: 'bar',
    data: [10, 20, 30, 40, 50, 60],
    markArea: {
      data: [{
        xAxis: 'B',
        itemStyle: {
          color: '#ff0000'
        }
      }, {
        xAxis: 'D',
        itemStyle: {
          color: '#ff0000'
        }
      }]
    }
  }]
};

在使用Echarts绘制柱状图时,想在某一区间实现高亮显示,如图所示,请教下该如何实现?

option = {
    xAxis: {
        type: 'category',
        data: ['A', 'B', 'C', 'D', 'E']
    },
    yAxis: {
        type: 'value'
    },
    series: [{
        type: 'bar',
        data: [10, 20, 30, 40, 50],
        itemStyle: {
            color: function(params) {
                // 在这里设置柱状图颜色
                if (params.data >= 20 && params.data <= 40) {
                    return '#FF0000';  // 设置某一区间的颜色
                } else {
                    return '#008000';  // 设置其他区间的颜色
                }
            }
        }
    }],
    visualMap: {
        type: 'piecewise',
        pieces: [
            {min: 20, max: 40, color: '#FF0000'},  // 设置高亮区间的颜色
            {min: 0, max: 100, color: '#008000'}   // 设置其他区间的颜色
        ],
        show: false
    }
};

在这个示例中,我们使用了visualMap组件的pieces属性来定义不同区间的颜色。在itemStyle中,我们使用了一个函数来根据数据的值动态设置柱状图的颜色。如果数据在20到40之间,我们设置为红色,否则设置为绿色。

请注意,上述代码中的颜色设置是示例,您可以根据实际需求进行调整。另外,visualMap组件中的show属性设置为false,表示不显示颜色范围的控制条,如果需要显示控制条,可以将其设置为true。

希望能对您有所帮助!如有更多问题,请继续提问。