Highcharts - 堆叠完整系列(条形图)

Highcharts - Stack a full serie (Bar chart)

所以我有 2 个系列的事件数据:

每个系列中的 1 个项目与 1 个事件相关

我想要一个包含 2 列的堆积条形图:'Views'、'Value'

每个事件都有自己的颜色。

这是我目前的情况:

$('#container').highcharts({
    chart: {
        type: 'bar'
    },
    title: {
        text: 'Stacked bar chart'
    },
    xAxis: {
        categories: ['Views', 'Value']
    },
    yAxis: [{
        min: 0,
        title: {
            text: 'Value (€)'
        }
    },{
        min: 0,
        opposite: true,
        title: {
            text: 'Views'
        }
    }],
    legend: {
        reversed: true
    },
    plotOptions: {
        series: {
            stacking: 'normal'
        }
    },
    series: [{
        name: 'Views',
        data: [{
            name: 'Event1',
            y: 500
        },{
            name: 'Event2',
            y: 200
        },{
            name: 'Event3',
            y: 350
        }],
        yAxis: 1
    }, {
        name: 'Value',
        data: [{
            name: 'Event1',
            y: 3000
        },{
            name: 'Event2',
            y: 2000
        },{
            name: 'Event3',
            y: 1500
        }]
    }]
});

我已经为值和视图设置了 2 个 yAxis。

我的问题是:

数据按事件而非类别堆叠。正如您将看到的,它甚至不是一个很好的堆叠,因为第一个条隐藏了第二个。

可以用 Highcharts 做到这一点吗?

编辑

initial JSFIDDLE

更接近我正在寻找的东西:

New Fiddle

但我找不到正确设置第二个 yAxis 的方法

如果要按类别显示 y 轴,则需要将所有数据拆分为单独的点。您可以使用 linkedTo 选项连接系列(在图例中)。这将需要分别设置每个系列的颜色(以获得匹配的颜色),请参见演示:http://jsfiddle.net/fxadv20h/4/

和代码:

    series: [{
        id: 'e3',
        name: 'Event 3',
        data: [{
            name: 'Views',
            y: 500
        }],
        yAxis: 1
    },{
        id: 'e2',
        name: 'Event 2',
        data: [{
            name: 'Views',
            y: 200
        }],
        yAxis: 1
    },{
        id: 'e1',
        name: 'Event 1',
        data: [{
            name: 'Views',
            y: 150
        }],
        yAxis: 1
    }, {
        linkedTo: 'e3',
        name: 'Event 3',
        data: [{
            x: 1,
            name: 'Value',
            y: 1000
        }]
    },{
        linkedTo: 'e2',
        name: 'Event 2',
        data: [{
            x: 1,
            name: 'Value',
            y: 2000
        }]
    },{
        linkedTo: 'e1',
        name: 'Event 1',
        data: [{
            x: 1,
            name: 'Value',
            y: 1500
        }]
    }]