Highcharts, button to redraw stackedcolumn

时间:2015-09-01 22:05:26

标签: highcharts

I am bringing in to my chart json objects, indexed two different ways. I have a button to flip my index, and it works in the sense that my catagories will flip back and forth, but my new data does not...

var $chart_data = data[1];
$button = $('#button');
var chart_ops_support_times = new Highcharts.Chart({
        chart: {
            renderTo: 'chart_ops_support_times',
            type: 'column'
        },
        title: {
            useHTML: true,
            text: '',
            align: 'left'
        },
        subtitle: {
            text: ' '
        },
        xAxis: {
            categories: [
                'priority 1',
                'priority 2',
                'priority 3'
            ]
        },
        yAxis: {
            min: 0,
            max: 60,
            title: {
                text: 'Total Actual Hours by Type',
                style: {
                    fontSize: '8px',
                    fontWeight: 'normal'
                }
            },
            stackLabels: {
                enabled: false,
                style: {
                    fontWeight: 'bold'
                }
            }
        },
        legend: {
            align: 'center',
            x: 0,
            verticalAlign: 'top',
            y: 0,
            floating: true,
            borderColor: '#CCC',
            borderWidth: 1,
            shadow: false,
            symbolHeight: 10,
            symbolWidth: 10
        },
        credits: {
            enabled: false
        },
        tooltip: {
            formatter: function () {
                return '<b>' + this.x + '</b><br/>' +
                    this.series.name + ': ' + this.y + '<br/>' +
                    'Total: ' + this.point.stackTotal;
            }
        },
        plotOptions: {
            column: {
                stacking: 'normal',
                dataLabels: {
                    enabled: false,
                    style: {
                        textShadow: '0 0 3px black'
                    }
                }
            }
        },
        exporting: {
            enabled: false
        },
        series: $chart_data
    });

$button.click(function() {
    if (!flipxAxis) {
        console.log('flip to priority x axis');
        chart_ops_support_times.xAxis[0].categories = priority_bkts ;
        chart_ops_support_times.series[0].update({
            dataLabels: {
                enabled: true
            },
            series: data[0]
        });
        chart_ops_support_times.redraw();
    } else {
        console.log('flip to time span x axis');
        chart_ops_support_times.xAxis[0].categories = time_span_bkts;
        chart_ops_support_times.series[0].update({
            dataLabels: {
                enabled: false
            },
            series: data[1]
        });
        chart_ops_support_times.redraw();
    }
    flipxAxis = !flipxAxis;
});

}

I have put in the swap of datalabels just to test if the update is firing, and it is...

0 个答案:

没有答案