Highcharts图书馆的动画起源

时间:2013-09-06 14:53:05

标签: javascript highcharts

我想逐步建立一个Highchart。我得到了它的工作,但我对它的动画方式不满意。在这种情况下,动画原点是y轴,但我希望条形从x轴上升。 当我在加载时可见数据时,它们会从x轴上升。但是,我想从一个空图表开始。

http://jsfiddle.net/ueC9g/1/

这是我初始化highcharts的方式:

new Highcharts.Chart ({
    chart: {
        type: 'column',
        renderTo: 'columnChart'
    },
    title: {
        text: 'Great chart'
    },
    xAxis: {
        categories: ['<5', '5-9', '10-14','15-19','20-24','25-29','30-39','40-49','50-59','60-69','>69'],
        min: 0,
        max: 10,
        title: {
            text: 'Age'
        },
        showEmpty: true
    },
    yAxis: {
        title: {
            text: 'Some numbers'
        },
        min: 0,
        max: 20,
        showEmpty: true,
        alternateGridColor: '#eee'
    },
    series: [{
        name: 'male',
        data: [1, 1, 5, 8, 10, 15, 19, 14, 10, 8, 4]
    }, {
        name: 'female',
        data: [2, 1, 3, 4, 5, 6, 8, 4, 4, 3, 2]
    }],
    plotOptions: {
        column: {
            events: {

            }
        }
    },
    credits: {
        enabled: false
    }
});

2 个答案:

答案 0 :(得分:1)

当显示/隐藏系列时,highcharts会动画更改轴而不是系列本身。我无论如何都找不到改变这种行为。作为一种解决方法,不是显示/隐藏系列,而是为什么不在点击时将其添加为新内容:

var i = 0;

$('#addBar').click(function(){
    try {
        if (i == 0) {
            columnChart.addSeries({name:'male',data:[1, 1, 5, 8, 10, 15, 19, 14, 10, 8, 4]});
        }
        else if (i == 1) {
            columnChart.addSeries({name:'female',data:[2, 1, 3, 4, 5, 6, 8, 4, 4, 3, 2]});
        }
        i++;                
    } catch(e){
        console.dir(e);
    }
});

我也在我的配置中设置了一个初始的空系列,以便在开始时绘制轴:

series: [{visible: false, showInLegend: false}],

请参阅更新的小提琴here

答案 1 :(得分:0)

请熟悉此示例:http://jsfiddle.net/VcJ4K/5/

 $.each(chart.series[0].data, function(i, point) {

        window.setInterval(function() {
            point.update(point.y2); 
        }, 500);

    });