根据缩放级别更改列数:HighChart(柱形图类型)

时间:2014-09-20 10:57:11

标签: javascript highcharts

我有5年的数据显示在柱形图中。当我放大时,我想将每个月显示为列。但是当我缩小时,它应该是每年的专栏。这可能是高图表。

基本上我想根据缩放设置列数。

1 个答案:

答案 0 :(得分:1)

只有在highstock中才能使用dataGrouping - http://www.highcharts.com/docs/advanced-chart-features/data-grouping。它可能就是你要找的东西。示例:http://jsfiddle.net/w5bonc2c/

$(function () {
    $.getJSON('http://www.highcharts.com/samples/data/jsonp.php?filename=large-dataset.json&callback=?', function (data) {

        // Create a timer
        var start = +new Date();

        // Create the chart
        $('#container').highcharts('StockChart', {
            chart: {
                events: {
                    load: function () {
                        this.setTitle(null, {
                            text: 'Built chart in ' + (new Date() - start) + 'ms'
                        });
                    }
                },
                zoomType: 'x',
                type: 'column'
            },

            rangeSelector: {
                inputEnabled: $('#container').width() > 480,
                buttons: [{
                    type: 'day',
                    count: 3,
                    text: '3d'
                }, {
                    type: 'week',
                    count: 1,
                    text: '1w'
                }, {
                    type: 'month',
                    count: 1,
                    text: '1m'
                }, {
                    type: 'month',
                    count: 6,
                    text: '6m'
                }, {
                    type: 'year',
                    count: 1,
                    text: '1y'
                }, {
                    type: 'all',
                    text: 'All'
                }],
                selected: 3
            },

            yAxis: {
                title: {
                    text: 'Temperature (°C)'
                }
            },

            title: {
                text: 'Hourly temperatures in Vik i Sogn, Norway, 2004-2010'
            },

            subtitle: {
                text: 'Built chart in ...' // dummy text to reserve space for dynamic subtitle
            },

            series: [{
                name: 'Temperature',
                data: data,
                pointStart: Date.UTC(2004, 3, 1),
                pointInterval: 3600 * 1000,
                tooltip: {
                    valueDecimals: 1,
                    valueSuffix: '°C'
                }
            }]

        });
    });
});