通过变量将系列参数传递给jqPlot

时间:2012-09-12 08:39:39

标签: jquery parameters jqplot

必须绘制具有不同行数的图形,我试图通过变量传递系列参数,但jqPlot不知何故不考虑它们并继续显示线宽,颜色和标签的默认值。 这是我尝试过的最简单的版本(单行):

var seriesOptions = {lineWidth: 1, color: "#FF0000", label: "Call"};


var plotOptions = { 
    title: {
           text: data['stratResult'][0] + '<br /><span class="subtitle">Results</span>'
    }, 
    seriesDefaults: {
        showMarker: false
        }
    axes: {
        yaxis: {
            label: '<span class="label">Result</span>'
    }, 
                                                xaxis: {
        label: '<span class="label">Price</span>'
    }
    },
    markerOptions: { 
        show: false,
        size: 0     
    },
    series: seriesOptions,
legend: {
    show: true
    }
};


$j.jqplot('plotDiv', 
    $j.parseJSON(data['stratResult'][1]), 
    plotOptions
);  

所有其他选项都运行良好,但通过seriesOptions变量传递的选项显示无效。有人可以帮我这个吗?

2 个答案:

答案 0 :(得分:0)

var seriesOptions = '{lineWidth: 1, color: "#FF0000", label: "Call"}';

seriesOptions 必须是对象,而不是字符串,所以只需删除''。

也试试这个:

var plotOptions = { 
    title: {
           text: data['stratResult'][0] + '<br /><span class="subtitle">Results</span>'
    }, 
    seriesDefaults: {
        showMarker: false
        lineWidth: 1, 
        color: "#FF0000", 
        label: "Call"
    }

尝试将 seriesOptions 放在 seriesDefaults 对象中。

答案 1 :(得分:0)

最近我遇到了类似的问题。我不得不将系列标签的名称作为变量传递。我能够通过编写像这个

这样的seriesoptions变量来解决它

var seriesOptions = [{label:lab [0]},{label:lab [1]},{label:lab [2]},{label:lab [3]}];

希望有所帮助