一、什么是堆叠条形图

堆叠条形图是一种数据可视化的方式,它展示了不同组别内各个项目的比较,并且将每个项目分解成不同的组成部分,通过堆叠显示每个部分在整体中的占比关系。

堆叠条形图基于条形图,将各个组别内各个项目的数据值沿着一个共同的轴线排列,不同于简单条形图所表示的只有一种数值。

二、堆叠条形图的优点

1、方便比较:堆叠条形图可以将各个组别内各个项目的比较放在同一个图表内,直接通过不同颜色的叠加来进行比较。

2、清晰展示占比:每个项目被分解成不同的组成部分,展示了每个部分在整体中的占比关系。

3、易于分析:数据分层展示,可以方便的分析和比较每个部分对于整个数据集的贡献。

三、堆叠条形图的应用场景

1、市场营销数据分析:可以展示不同市场营销策略或产品在不同区域和市场的销售情况。

2、人口统计数据分析:可以展示不同年龄段、性别、教育水平的人口数量和比例。

3、企业经营数据分析:可以展示不同产品线、流程的收入和成本,对于企业经营决策提供支持。

四、实现堆叠条形图的代码实例

// 引入echarts库
import echarts from 'echarts';

// 数据
const data = [
  {name: 'A', 'value1': 30, 'value2': 70},
  {name: 'B', 'value1': 50, 'value2': 50},
  {name: 'C', 'value1': 40, 'value2': 60},
  {name: 'D', 'value1': 60, 'value2': 40},
]

// 初始化实例
const myChart = echarts.init(document.getElementById('chart'));

// 配置项
const option = {
  legend: {
    data: ['value1', 'value2'],
  },
  tooltip: {
    trigger: 'axis',
    axisPointer: {
      type: 'shadow',
    }
  },
  xAxis: {
    type: 'value',
  },
  yAxis: {
    type: 'category',
    data: data.map(item => item.name),
  },
  series: [
    {
      name: 'value1',
      type: 'bar',
      stack: '总量', // 堆叠在一起的key
      data: data.map(item => item.value1),
    },
    {
      name: 'value2',
      type: 'bar',
      stack: '总量', // 堆叠在一起的key
      data: data.map(item => item.value2),
    },
  ]
};

// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);

五、堆叠条形图的注意事项

1、数据量过多:如果数据量过多,在条形之间的空隙越来越小时,很难分辨哪个组别属于哪个类别。

2、数据总和:堆叠条形图展示的总和,对于不同的项目可能并没有意义,需要确保展示的切片或部分能够有效传达信息。

3、数据百分比:确保标记了数据的百分比或实际数值,便于读者正确理解。

六、结论

堆叠条形图对于数据层次分析和对比非常有用,可以进行多维度、多组别、多层级数据展示和比较,然而需要注意数据总和和展示的数据切片的合理性。