【问题标题】:How to add another data series to a Google chart如何将另一个数据系列添加到 Google 图表
【发布时间】:2011-12-27 19:03:46
【问题描述】:

我按照此页面上的示例设置了一个简单的 Google 图表: http://code.google.com/apis/chart/interactive/docs/gallery/linechart.html

 google.load("visualization", "1", {packages:["corechart"]});
      google.setOnLoadCallback(drawChart);
      function drawChart() {
        var data = new google.visualization.DataTable();
        data.addColumn('string', 'Year');
        data.addColumn('number', 'Sales');
        data.addColumn('number', 'Expenses');
        data.addRows([
        ['2004', 1000, 400],
        ['2005', 1170, 460],
        ['2006',  860, 580],
        ['2007', 1030, 540]
        ]);

        var options = {
          width: 400, height: 240,
          title: 'Company Performance'
        };

        var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
        chart.draw(data, options);
      }

但是现在,在渲染之后,我想使用一些 javascript 动态添加另一系列数据。谁能指出我如何做到这一点的正确方向?
我要添加的数据,一个包含员工数量的数字列,应该在图表中以另一种颜色显示一个新行,并且不是从 2004 年开始,而是从 2005 年开始,

【问题讨论】:

    标签: javascript charts google-visualization


    【解决方案1】:

    您需要将新数据添加到“数据”变量并再次调用 chart.draw() 方法。 请参阅 DataTable 文档或在http://code.google.com/apis/ajax/playground/?type=visualization#line_chart玩一下

    例子:

      // Add columns
      data.addColumn('string', 'Employee Name');
      data.addColumn('date', 'Start Date');
    
      // Add empty rows
      data.addRows(6);
      data.setCell(0, 0, 'Mike');
      data.setCell(0, 1, {v:new Date(2008,1,28), f:'February 28, 2008'});
      data.setCell(1, 0, 'Bob');
      data.setCell(1, 1, new Date(2007, 5, 1));
      data.setCell(2, 0, 'Alice');
      data.setCell(2, 1, new Date(2006, 7, 16));
      data.setCell(3, 0, 'Frank');
      data.setCell(3, 1, new Date(2007, 11, 28));
      data.setCell(4, 0, 'Floyd');
      data.setCell(4, 1, new Date(2005, 3, 13));
      data.setCell(5, 0, 'Fritz');
      data.setCell(5, 1, new Date(2007, 9, 2));
    

    【讨论】:

    • 有没有办法在不改变原始数组的情况下添加新数据?上述建议的问题是我首先必须将新数据“拟合”到该数组中。我可以这样做,但默认情况下它并不适合。因此我的问题..
    • 查看 DataTable 文档。你有 addColum 和 setCell 方法。 addColum 添加一个新系列并使用 setCell 填充它。此外,最好将数据副本保存在与您使用的库所需格式不同的变量中。这样,您可以将更多数据添加到源数组并再次传递到可视库。
    • 我希望有更灵活的东西,但我现在这样做了。
    猜你喜欢
    • 2016-09-22
    • 2010-11-22
    • 1970-01-01
    • 2013-05-05
    • 2020-01-23
    • 2015-12-29
    • 2021-07-19
    • 2016-12-16
    • 2015-06-11
    相关资源
    最近更新 更多