0

我在这里很难操纵我的数组以适应堆栈栏,我在这里使用谷歌堆栈栏 API, 基本上我有这样的数组:

Array ( [A] => Array ( 
                  [0] => 1 
                  [1] => 5 
                  [2] => 5 ) 
        [B] => Array ( 
                  [0] => 3  
                  [1] => 5 
                  [2] => 5 )
        [C] => Array ( 
                  [0] => 2 
                  [1] => 3
                  [2] => 5 ) )

我希望我的堆栈栏是这样的

在此处输入图像描述

可悲的是我不能操纵我的数组,这些字母是我需要计算有多少速率等于 5 或​​ 2 等的项目。我需要一个这样的数组

Array ([A]=> Array ([1] => 1 [2] => 0 [3] => 0 [4] => 0 [5] => 2 ) 
[B]=> Array ([1] => 0 [2] => 0 [3] => 1 [4] => 0 [5] => 2 ) 
[C]=> Array ([1] => 0 [2] => 1 [3] => 1 [4] => 0 [5] => 1 ))

谁能帮助我,非常感谢!

4

1 回答 1

0

您希望数据最终采用以下格式:

Series  1   2   3   4   5
a       #   #   #   #   #
b       #   #   #   #   #
c       #   #   #   #   #

如果您将数据转换为该格式,则以下代码将重新创建您拥有的图表:

function drawVisualization() {
  // Create and populate the data table.
  var data = new google.visualization.DataTable();
  data.addColumn('string', 'Label');
  data.addColumn('number', 'Rate 1');
  data.addColumn('number', 'Rate 2');
  data.addColumn('number', 'Rate 3');
  data.addColumn('number', 'Rate 4');
  data.addColumn('number', 'Rate 5');
  data.addRows([
    ['a', 1, null, null, null, 2],
    ['b', null, null, 1, null, 2],
    ['c', null, 1, 1, null, 1]
  ]);

  // Create and draw the visualization.
  new google.visualization.BarChart(document.getElementById('visualization')).
      draw(data,
           {title:"Yearly Coffee Consumption by Country",
            width:600, height:400,
            vAxis: {title: "Year"},
            hAxis: {title: "Cups"},
            isStacked: true}
      );
}

如果您的问题只是如何操作数组,那是完全不同的一杯茶,您必须更清楚您的要求是什么(您使用什么语言,如果有限制,如何big 是实际的数据集等)。

于 2013-06-10T00:30:07.767 回答