HighCharts有选项

时间:2013-02-13 19:31:19

标签: javascript jquery highcharts

我目前有一个使用它的工作图表:

$.ajax({
    type: "GET",
    url: graphURL,
    data: "",
    cache: false,
    success: function (response) {
        //alert(response);
        jsonData = JSON.parse(response);
        if(jsonData != '' && jsonData != null) {
            var category = jsonData.XData.split(",");
            var series = jsonData.YData.split(",");
            series = $.each(series, function (i, amt) {
                series[i] = parseFloat(series[i]);
            });
            //Display chart
            UserChart(series, category, jsonData.YAxisTitle);
        }
    }
});

...但它不允许我设置选项,如果我想要一个area图表而不是行等。我如何修改代码,以便我可以包含以下内容,我看到在所有例子中:

chart : {
    renderTo : 'container'
},

rangeSelector : {
    selected : 1
},

title : {
    text : 'AAPL Stock Price'
},

series : [{
    name : 'AAPL Stock Price',
    data : data,
    type : 'area',
    threshold : null,
    tooltip : {
        valueDecimals : 2
    },
    fillColor : {
        linearGradient : {
            x1: 0, 
            y1: 0, 
            x2: 0, 
            y2: 1
        },
        stops : [[0, Highcharts.getOptions().colors[0]], [1, 'rgba(0,0,0,0)']]
    }
}]

1 个答案:

答案 0 :(得分:0)

问题是series是系列点的数据 尝试将系列传递给UserChart。 如下所示:

var points = jsonData.YData.split(",");
points = $.each(series, function (i, amt) {
    points[i] = parseFloat(series[i]);
});

// here you set your serie config
var serie = {
    name: 'AAPL Stock Price',
    type: 'area',
    data: points,
    threshold : null,
    tooltip : {
        valueDecimals : 2
    }
};

UserChart(serie, category, jsonData.YAxisTitle);

然后在UserChart中,您应该将系列直接添加到图表系列中。

示例

var options: {
    chart : {
        renderTo : 'container'
    },

    rangeSelector : {
        selected : 1
    },

    title : {
        text : 'AAPL Stock Price'
    },

    series : []
};

function UserChart(serie, category, jsonData.YAxisTitle) {
    options.series.push(serie);
    // add your code
}