将js函数放在jQuery函数

时间:2015-08-03 13:40:33

标签: javascript jquery charts

我一直在努力使图表自动渲染,但现在我已经遇到了以前准备的所有数据都无用的情况。

我正在向js chile传递一些用户数据以呈现图表...然后我在javascript中做一些额外的处理以完成数据准备。我正在使用一个模板,该模板具有预定义的显示图表的方式。

这是我到目前为止所做的:

 if ($('#interactive-chart').length !== 0) {
   var previous = '';         
   var usersData = data['periodicity'];
   var months = [[1,0], [2,0], [3,0], [4,0], [5,0], [6,0], [7,0], [8,0], [9,0], [10,0], [11,0], [12,0], [13,0]];
   var overlapped = months.slice();
   var monthConn = [];

   for (var i = 0; i < usersData.length; i++) {
     var user = usersData[i].vusr_user;
     if (usersData[i].yearly == currentYear) {
       if (user !== previous) {
         previous = user;
         if (i !== 0) {
           monthConn.forEach(function(monthData){
           overlapped[monthData[0]-1][1] = monthData[1];
         });

         var overlapped = months.slice();
         var monthConn = []; 
       }
       monthConn.push([usersData[i].month, usersData[i].count]); 
     }else{
     monthConn.push([usersData[i].month, usersData[i].count]); 
    }
  };                            
 };

接下来就是这个jQuery预定义函数:

$.plot($("#interactive-chart"), [{
    data: data1,
    label: "Page Views",
    color: blue,
    lines: {
      show: true,
      fill: false,
      lineWidth: 2
    },
    points: {
      show: true,
      radius: 3,
      fillColor: '#fff'
    },
    shadowSize: 0
  }, {
    data: data2,
    label: 'Visitors',
    color: green,
    lines: {
      show: true,
      fill: false,
      lineWidth: 2
    },
    points: {
      show: true,
      radius: 3,
      fillColor: '#fff'
    },
    shadowSize: 0
  }],

  {
    xaxis: {
      ticks: xLabel,
      tickDecimals: 0,
      tickColor: '#ddd'
    },
    yaxis: {
      ticks: 10,
      tickColor: '#ddd',
      min: 0,
      max: 200
    },
    grid: {
      hoverable: true,
      clickable: true,
      tickColor: "#ddd",
      borderWidth: 1,
      backgroundColor: '#fff',
      borderColor: '#ddd'
    },

    legend: {
      labelBoxBorderColor: '#ddd',
      margin: 10,
      noColumns: 1,
      show: true
    }
  }
);

我希望将我的函数(我写的1 st )中的数据传递给第二个数据,其中“data1”,“data2”...

我怎么想这样做?

1 个答案:

答案 0 :(得分:0)

假设您准备好的数据的格式是图表可以使用的方式,它就像以下一样简单:

data:monthConn,

这真的很棒。