Highcharts动态修改堆栈标签

时间:2015-10-30 14:37:53

标签: highcharts

我在堆积条形图中使用了stacklabels。

stackLabels: {
    rotation : angelLabel,
    style: {
        fontSize: labelFontSize,
        fontFamily: labelFontFamily
    },
    enabled:true,
    color: '#000000',
    useHTML: true
}

上面的代码适用于初始化。现在,我需要将“启用”更改为false。 以下代码无效。

   chart.options.yAxis[0].stackLabels.enabled = false;
   chart.redraw();

如何动态更改堆栈标签?

1 个答案:

答案 0 :(得分:3)

stackLabels是yAxis的属性,因此您可以使用API​​函数Axis.update()更新该轴

$(function () {
    var chart = $('#container').highcharts({
        chart: {
            type: 'column'
        },
        yAxis: {
            stackLabels: {
                enabled: true
            }
        },
        plotOptions: {
            column: {
                stacking: 'normal'
            }
        },

        series: [{
            data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
        }, {
            data: [144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4, 29.9, 71.5, 106.4, 129.2]
        }]
    }).highcharts();

    var enable = true;
    $('#button').click(function () {
        enable = !enable;
        chart.yAxis[0].update({
            stackLabels: {
                enabled: enable
            }
        });
    });
});

示例:http://jsfiddle.net/yqypj4qr/