2012-07-12 51 views
0

我正在尝试创建一个具有常量行和动态生成行的折线图。在我没有将任何值传递给数组的时候,jqplot不会为我的动态行绘制任何东西。如果数组是空的,如何更改动态创建的数组JQplot?

我希望jqplot默认值为1,如果动态行是空的或只有5个值中的1个,例如如果数组生成[]它会希望它生成[[1], [1],[1],[1],[1]],如果数组生成[[4],[3],[],[],[]],我希望能够将1在空阵列中,例如[[4],[3],[1],[1],[1]]

任何帮助,这将非常感激。

这里是我到目前为止的一些代码;

var values = $('input:radio:checked').map(function() { 
return this.value 
}).get(); 

var line1 =[[1,values[0],1], [2,values[1],1], [3,values[2],1], [4,values[3],1],[5,values[4],1]]; 
var line2 =[[1,4],[2,5],[3,4],[4,5],[5,5]]; 

$.jqplot('chartdiv', [line2,line1], 
{ 

在此先感谢您。

回答

1

为什么不在设置之前检查数组的长度并采取相应措施? 为此,您可以编写自己的检索值的方法,例如:

function getValue(index){ 
    return (values[index].length > 0 ? values[index] : [1]; 
} 

对于每个给出的代码片段在line1你可以使用这样的:

var line1 = [[1,getValue(0),1], [2,getValue(1),1], [3,getValue(2),1], [4,getValue(3),1],[5,getValue(4),1]]; 

请不要考虑我不是100%确定你在做什么,但这是我最好的猜测:)