谷歌可视化:如何从数据表中删除一列

Google Visualization: how to remove a column from a DataTable

本文关键字:删除 一列 数据表 可视化 谷歌      更新时间:2023-09-26

在google可视化我有一个ChartWrapper:

table = new google.visualization.ChartWrapper({
      'chartType': 'Table',
      'containerId': 'table_div',
      'options': {
          'allowHtml': true,
      }, 
    });

我想导出csv可视化的数据表(后做一些过滤器),所以我得到数据表:

var dataTableTmp = table.getDataTable();

现在,如果我试图从数据表中删除一个列:

dataTableTmp.removeColumn(0); 

我得到以下错误:

Uncaught TypeError: undefined is not a function

有什么问题吗?

getDataTable方法返回传递给ChartWrapper的dataTable参数的任何对象。在仪表板的情况下,ChartWrapper实际上接收一个DataView,而不是DataTable。您可以采用几种不同的方法来"删除"列,这取决于您想通过删除它来完成什么。

如果您只需要从数据中读取,忽略第一列,那么最简单的解决方案是遍历从索引1开始的列,而不是从0开始的列。

您还可以基于现有数据创建一个新的DataView,并限制视图中的列,例如:

var view = new google.visualization.DataView(dataTableTmp);
view.setColumns([1, 2, 3, 4 /* etc... */]);

您还可以将DataView转换为实际的数据表,然后从数据表中删除该列:

var dt = dataTableTmp.toDataTable();
dt.removeColumn(0);