您的位置:

双向柱状图详解

一、双向柱状图介绍

双向柱状图是一种能够同时显示正负数值的图表,以在相同分组内比较不同系列间的差异。它是基于柱状图的一种扩展,一般用于对比两个参数在同一时间段或同一区域内的变化情况。具有简单易懂、直观明了的特点,在商务和金融数据分析中广泛使用。

二、双向柱状图的结构

双向柱状图由两个柱状图组成,一般将其中一个图称为正柱状图,另一个称为反柱状图。正柱状图显示正数值,一般采用正向增长,而反柱状图显示负数值,一般采用反向增长。双向柱状图也可以在同一条数轴上显示两个参数值。除了依靠柱子的长度比较数值之外,还可以使用不同的颜色表示不同的参数值,以使得数据更加直观。

三、制作双向柱状图的步骤

1、确定需求,采集数据。

2、使用可视化库(如Echarts、Highcharts等)创建一个柱状图,设定好数据类型。

3、添加一个正数值系列和一个负数值系列。分别使用setOption方法设置好正柱状图的颜色、位置、值等。对于负数值系列,需要将所有数值取反,设置好颜色和位置,注意为负值系列添加表示正数的y轴。

4、在正数值系列和负数值系列上添加所需的特效和标签等。

5、发布或嵌入到网页中。

四、双向柱状图的应用

1、商务数据对比。可以将两个企业或两款产品的数据进行对比,突出优劣势。

2、金融数据分析。双向柱状图可以用于展示成本和收益等多个参数之间的关系,帮助判断业务过程中的风险和机会。

3、教育和科研。可以用于比较不同科研团队或课程的成果和对比分析。

五、完整代码示例

// 基于Echarts的双向柱状图代码示例

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

// 指定图表的配置项和数据
var option = {
    title: {
        text: '双向柱状图'
    },
    tooltip: {},
    grid: {
        top: '12%',
        left: '7%',
        right: '7%',
        bottom: '10%',
        containLabel: true
    },
    xAxis: [
        {
            type: 'category',
            axisLine: {show: false},
            axisLabel: {show: false},
            axisTick: {show: false},
            splitArea: {show: false},
            data: ['A', 'B', 'C', 'D', 'E']
        }
    ],
    yAxis: [
        {
            type: 'value',
            axisLine: {show: false},
            axisLabel: {show: false},
            axisTick: {show: false},
            splitArea: {show: false},
        },
        {
            type: 'value',
            position: 'left',
            splitLine: {show: false},
            axisLabel: {
                formatter: function (value) {
                    return value > 0 ? value : (-value);
                }
            }
        }
    ],
    series: [
        {
            name: '正数值',
            type: 'bar',
            data: [10, 20, 30, 40, 50],
            itemStyle: {color: '#5ab1ef'}
        },
        {
            name: '负数值',
            type: 'bar',
            data: [-20, -32, -41, -34, -22],
            itemStyle: {color: '#d87373'},
            yAxisIndex: 1,
        }
    ]
};

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