echarts柱状图显示数值的配置教程

ECharts 柱状图默认不会在每个柱子上显示数值,但是可以通过配置项来实现这个功能。下面介绍两种实现方式。

方式一:使用 label 配置项

在 ECharts 柱状图的 series 配置项中,可以添加 label 配置项,用于设置柱子上显示的文本样式,包括颜色、字体大小、显示内容等。可以使用 {value} 占位符表示显示柱子的值。

例如,以下代码片段可以在每个柱子上显示该柱子的数值:

option = {
  xAxis: {
    type: 'category',
    data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
  },
  yAxis: {
    type: 'value'
  },
  series: [
    {
      data: [120, 200, 150, 80, 70, 110, 130],
      type: 'bar',
      label: {
        show: true,
        position: 'top',
        color: 'black',
        fontSize: 12,
        formatter: '{value}' // 使用 {value} 占位符显示柱子的值
      }
    }
  ]
}

在上述代码中,我们添加了一个 label 配置项,并设置了 show 属性为 true,表示显示柱子上的文本;position 属性为 top,表示将文本显示在柱子的顶部;color 属性为 black,表示文本颜色为黑色;fontSize 属性为 12,表示文本字体大小为 12px;formatter 属性为 {value},表示显示柱子的值。

方式二:使用 tooltip 配置项

除了使用 label 配置项来显示柱子的数值,还可以使用 tooltip 配置项来在鼠标悬停时显示数值。在 ECharts 中,tooltip 是一个重要的交互组件,用于显示数据项的详细信息。

在柱状图的 series 配置项中,可以添加 tooltip 配置项,用于设置提示框的样式和显示内容。可以使用 {c} 占位符表示显示柱子的值。

例如,以下代码片段可以在鼠标悬停在柱子上时显示该柱子的数值:

option = {
  xAxis: {
    type: 'category',
    data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
  },
  yAxis: {
    type: 'value'
  },
  series: [
    {
      data: [120, 200, 150, 80, 70, 110, 130],
      type: 'bar',
      tooltip: {
        show: true,
        formatter: '{c}' // 使用 {c} 占位符显示柱子的值
      }
    }
  ]
}

在上述代码中,我们添加了一个 tooltip 配置项,并设置了 show 属性,为了使柱状图上的数值更清晰易懂,我们还可以对显示的数值进行格式化,例如将小数保留两位或者添加单位。

对于方式一,我们可以在 formatter 属性中使用 JavaScript 提供的格式化函数,例如 toFixed() 将数值保留指定小数位,或者 toLocaleString() 将数值转化为本地化字符串,并添加千位分隔符。

例如,以下代码片段可以将每个柱子的数值保留两位小数并添加单位“万元”:

option = {
  xAxis: {
    type: 'category',
    data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
  },
  yAxis: {
    type: 'value'
  },
  series: [
    {
      data: [120000, 200000, 150000, 80000, 70000, 110000, 130000],
      type: 'bar',
      label: {
        show: true,
        position: 'top',
        color: 'black',
        fontSize: 12,
        formatter: function(params) {
          return (params.value / 10000).toFixed(2) + '万元'; // 将数值除以 10000 并保留两位小数,添加单位“万元”
        }
      }
    }
  ]
}

对于方式二,我们可以在 formatter 属性中使用 {c} 占位符,并在其后面添加需要的格式化字符串。例如,以下代码片段可以将每个柱子的数值添加单位“万元”,并添加千位分隔符:

option = {
  xAxis: {
    type: 'category',
    data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
  },
  yAxis: {
    type: 'value'
  },
  series: [
    {
      data: [120000, 200000, 150000, 80000, 70000, 110000, 130000],
      type: 'bar',
      tooltip: {
        show: true,
        formatter: '{c}万元' // 在占位符后添加“万元”,表示数值单位为“万元”
      }
    }
  ]
}

在上述代码中,我们使用了 {c} 占位符表示柱子的数值,并在其后面添加了“万元”作为数值的单位。同时,由于数值较大,我们还可以使用 toLocaleString() 函数为数值添加千位分隔符。

总之,无论是使用 label 配置项还是 tooltip 配置项,在柱状图中显示数值都是非常简单的。而通过格式化显示的数值,可以使柱状图更加易懂,为数据的分析和决策提供更多的帮助。