如何动态绘制HighChart XAxis

时间:2013-04-27 06:28:42

标签: jquery highcharts

我正在绘制一个高图 -

options.series.push({ name: this.SubCity, data: this.Data });

其中data是系列数据的数组。

我还有一个xAxis Categeries数组 -

 Categ['Jan-Mar', 'Apr-Jun', 'Jul-Sep', 'Oct-Dec']

我的图表正确绘制但xAxis类别存在问题 我不知道如何动态设置类别。

为了更清楚,我正在添加一些代码 -

 var PriceTrend = JSON.parse(Data);
 var AvgRate = new Array();
 var Categories = new Array();

 $(PriceTrend).each(function (index)
        {
            MaxRate.push(this.Max);
            MinRate.push(this.Min);
            AvgRate.push((this.Max + this.Min) / 2);
            Categories.push(this.Quarter);
        });


        TrendData.push({ SeriesID: SeriesID, Data: AvgRate, Visible: true, SubCity: SubCity, Categ: Categories });

        DisplayTrend();


function DisplayTrend()
{
options.series = [];

$(TrendData).each(function (Index)
{
    if (this.Visible)
    {
        options.series.push({ name: this.SubCity, data: this.Data });
    }
});
chart = new Highcharts.Chart(options);

}

2 个答案:

答案 0 :(得分:7)

您正在寻找Axis.update()方法。

Highcharts.charts[0].xAxis[0].update({categories:['some','new','categories']}, true);

这是一个example

animated x axis update

答案 1 :(得分:1)

是的,你可以在短短几个月内完成。 http://api.highcharts.com/highcharts#Chart.addAxis() http://jsfiddle.net/wvaGt

chart.addAxis({ // Secondary yAxis
        id: 'rainfall-axis',
        title: {
            text: 'Rainfall'
        },
        lineWidth: 2,
        lineColor: '#08F',
        opposite: true
    });
    chart.addSeries({
        name: 'Rainfall',
        type: 'column',
        color: '#08F',
        yAxis: 'rainfall-axis',
        data: [49.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
    });

希望它会对某人有所帮助。