【问题标题】:Two-dimensional array for Google Scatterplot doesn't build correctlyGoogle Scatterplot 的二维数组未正确构建
【发布时间】:2016-11-13 05:03:00
【问题描述】:

我正在尝试使用我自己的数据创建 Google 散点图。来自 Google 的示例如下所示:

var data = google.visualization.arrayToDataTable([
      ['Age', 'Weight'],
      [ 8,      12],
      [ 4,      5.5],
      [ 11,     14],
      [ 4,      5],
      [ 3,      3.5],
      [ 6.5,    7]
    ]);

数组中的每个元素代表图中的一个点。在我的代码中,我有两个数组(一个用于 x 值,一个用于 y 值)。我想组合这两个数组,以便它们适合上面的示例。我的代码如下所示:

      var n50 = ${n50Values};
      var contigs = ${contigValues};
      var dataArray = [[]];
      dataArray[0] = ["n50" + ", " + "Number of contigs"];
      for (var i = 0; i < n50.length; i++){
         dataArray[0].push([n50[i] + ", " + contigs[i]]);
      }

注意:我在 Groovy 中创建脚本,因此使用了 ${} 表达式。 当我打印数组时,它会输出以下内容:

[["n50, Number of contigs"], ["136431, 712"], ["203520, 267"], ...

如何为我的第一个条目获取正确的引号并删除数字的引号?

【问题讨论】:

    标签: javascript arrays google-visualization quotes


    【解决方案1】:

    让我们试试这个简单的脚本(我从来没有尝试过学习 Groovy,所以我希望它有效):

      var n50 = ${n50Values};
      var contigs = ${contigValues};
      var dataArray = [[]];
    
      var headline = new Array();
      headline.push("n50");
      headline.push("Number of contigs");
      dataArray.push(headline);
    
      for (var i = 0; i < n50.length; i++){
         var row = new Array();
         row.push(n50[i]);
         row.push(contigs[i]);
         dataArray.push(row);
      }
    

    【讨论】:

    • 感谢您的回答。我在我的 Groovy 脚本中生成了一个 HTML 文档,所以你的代码是 JavaScript,我只是从 Groovy 导入了数据。您的代码几乎可以正常工作。它给了我正确的输出,但是它在数组的开头创建了一个空元素。我不知道为什么。
    • 更改“var dataArray = [[]];”到“var dataArray = new Array();”
    • 或来自“var dataArray = [[]];”到“var dataArray = [];”如果你更喜欢它:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-03
    • 2021-12-22
    • 1970-01-01
    • 2013-10-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多