高图库的动画起源

Animation origin of Highcharts library

本文关键字:起源 动画 高图库      更新时间:2023-09-26

我想逐步建立一个Highchart。我让它工作了,但我对它的动画方式不满意。在本例中,动画原点是 y 轴,但我希望条形从 x 轴上升。当我在加载时有可见的数据时,它们确实从 x 轴上升。但是,我想从一个空图表开始。

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

这就是我初始化高图表的方式:

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
    }
});

显示/隐藏系列时,高图表会对轴的更改进行动画处理,而不是对序列本身进行动画处理。 无论如何,我都找不到改变这种行为的方法。 作为一种解决方法,与其显示/隐藏系列,不如在单击时将其添加为新系列:

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}],

在此处查看更新的小提琴。

请熟悉这个例子:http://jsfiddle.net/VcJ4K/5/

 $.each(chart.series[0].data, function(i, point) {
        window.setInterval(function() {
            point.update(point.y2); 
        }, 500);
    });