Google图表,将dataTable行附加到其他dataTable [英] Google chart, append dataTable rows to other dataTable

查看:180
本文介绍了Google图表,将dataTable行附加到其他dataTable的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有2个google.visualization.DataTable(数据)



我想把dataTable中的1行附加到另一个dataTable。



我该怎么做?



示例表1:



1 | test1 | 20



2 | test2 | 30



示例表2:



3 | test3 | 60



4 | test4 | 40



我想将2合并到:



1 | test1 | 20



2 | test2 | 30



3 | test3 | 60



4 | test4 | 40



  google.charts.load('current',{callback:drawChart ,package:['table']}); var json1 = {cols:[{id:,label:Topping,pattern:,type },{id:,label:Slices,pattern:,type:number}],rows:[{c :蘑菇,f:null},{v:3,f:null}]},{c:[{v:洋葱,f:null} {v:1,f:null}]},{c:[{v:橄榄,f:null},{v:1,f }}}} var json2 = {cols:[{id:,label:Topping,pattern:,type:string},{id :,label:Slices,pattern:,type:number}],rows:[{c:[{v:Zucchini f:null},{v:1,f:null}]},{c:[{v:Pepperoni,f:null},{v ,f:null}]}]} function drawChart(){var oldData = new google.visualization。 DataTable(json1); var appendData = new google.visualization.DataTable(json2); ///以某种方式将appendData行添加到olddata这里var newData = new google.visualization.DataTable(json1); //需要更改为他组合的数据var chart = new google.visualization.Table(document.getElementById('chart_div')); chart.draw(oldData);};  

 < script src =https://www.gstatic.com/charts/loader.js>< / script>< div id =chart_div>< / div>  pre> 

解决方案

从另一个问题出发,结果



请参阅以下工作代码段...



  google.charts.load('current',{callback:drawChart,packages:['table']}); function drawChart(){var data = google.visualization.arrayToDataTable([[' x','y1','y2'],[1,'test1',20],[2,'test2',30],]); var data1 = google.visualization.arrayToDataTable([['x','y1','y2'],[3,'test3',60],[4,'test4',40],]); var keys = []; for(var i = 0; i< data.getNumberOfColumns(); i ++){keys.push([i,i]); } var joinData = new google.visualization.data.join(data,data1,'full',keys,[],[]); var chart = new google.visualization.Table(document.getElementById('chart_div')); chart.draw(joinData);};  

  src =https://www.gstatic.com/charts/loader.js>< / script>< div id =chart_div>< / div>  pre> 


i have 2 google.visualization.DataTable(data)

i want to append the rows of 1 of the dataTables to the other dataTable.

How do i do that?

example table 1:

1 | test1 | 20

2 | test2 | 30

example table 2:

3 | test3 | 60

4 | test4 | 40

i want to merge the 2 to:

1 | test1 | 20

2 | test2 | 30

3 | test3 | 60

4 | test4 | 40

google.charts.load('current', {
  callback: drawChart,
  packages:['table']
});

var json1 = {
  "cols": [
        {"id":"","label":"Topping","pattern":"","type":"string"},
        {"id":"","label":"Slices","pattern":"","type":"number"}
      ],
  "rows": [
        {"c":[{"v":"Mushrooms","f":null},{"v":3,"f":null}]},
        {"c":[{"v":"Onions","f":null},{"v":1,"f":null}]},
        {"c":[{"v":"Olives","f":null},{"v":1,"f":null}]}
      ]
}

var json2 = {
  "cols": [
        {"id":"","label":"Topping","pattern":"","type":"string"},
        {"id":"","label":"Slices","pattern":"","type":"number"}
      ],
  "rows": [
        {"c":[{"v":"Zucchini","f":null},{"v":1,"f":null}]},
        {"c":[{"v":"Pepperoni","f":null},{"v":2,"f":null}]}
      ]
}
function drawChart() {

  var oldData = new google.visualization.DataTable(json1);
  var appendData = new google.visualization.DataTable(json2);
  
  /// somehow append rows of appendData to olddata here
  
  var newData = new google.visualization.DataTable(json1); // needs to be changed to he combined data
  var chart = new google.visualization.Table(document.getElementById('chart_div'));
  chart.draw(oldData);
};

<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart_div"></div>

解决方案

the same script from the other question appears to produce the desired result

see following working snippet...

google.charts.load('current', {
  callback: drawChart,
  packages:['table']
});

function drawChart() {
  var data = google.visualization.arrayToDataTable([
    ['x', 'y1', 'y2'],
    [1, 'test1', 20],
    [2, 'test2', 30],
  ]);

  var data1 = google.visualization.arrayToDataTable([
    ['x', 'y1', 'y2'],
    [3, 'test3', 60],
    [4, 'test4', 40],
  ]);

  var keys = [];
  for (var i = 0; i < data.getNumberOfColumns(); i++) {
    keys.push([i, i]);
  }

  var joinData = new google.visualization.data.join(
    data,
    data1,
    'full',
    keys,
    [],
    []
  );

  var chart = new google.visualization.Table(document.getElementById('chart_div'));
  chart.draw(joinData);
};

<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart_div"></div>

这篇关于Google图表,将dataTable行附加到其他dataTable的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆