查看DataView是否为空的简单方法?

查看DataView是否为空的简单方法?

社区首页 >问答首页 >查看DataView是否为空的简单方法?问查看DataView是否为空的简单方法?ENStack Overflow用户提问于 2013-03-18 20:23:34回答 3查看 2.2K关注 0票数 1使用Google可视化api,有没有一种简单的方法来查看DataView是否为空?

https://developers.google.com/chart/interactive/docs/reference#DataView

我可以看到可能使用dataView.getValue(0,1)等来检查空值,但它也包含列标题。

我猜这很棘手,因为数据视图可能有许多不同的格式,但是有没有一种好的通用方法来检查空的数据视图?我正在使用数据视图制作饼图。

google-visualizationdataview关注问题分享EN回答 3推荐最新Stack Overflow用户发布于 2013-03-18 20:32:57

如果我没记错的话,这是很容易做到的。

代码语言:javascript运行复制var predata = response.getDataTable();

var vals = new Array();

var rownum = predata.getNumberOfRows();

// Make sure our data isn't empty.

if (null==predata) // yoda was here

return;

返回数据源返回的数据表。如果查询执行失败且未返回数据,则返回null。

收藏分享票数 1ENStack Overflow用户发布于 2013-03-18 20:33:02

从文档中可以看出,dataView.getNumberOfRows()似乎就是您要找的。但是,在调用它之前,您需要获得过滤后的空行,然后将它们隐藏起来。下面是使用Google Code Playground的an example,我在其中检查一列是否为null,如果为null,则隐藏该行。将该示例的Google Code默认JavaScript替换为以下内容:

代码语言:javascript运行复制function drawVisualization() {

var dataTable = google.visualization.arrayToDataTable([

['Name', 'Age', 'Instrument', 'Color'],

[null, null, null, null],

['Paul', 52, 'Sitar', 'Red'],

['George', 16, 'Guitar', 'Green'],

['Ringo', 72, 'Drums', 'White']

]);

var table = new google.visualization.Table(document.getElementById('table'));

table.draw(dataTable, null);

var dataView = new google.visualization.DataView(dataTable);

// Get rows where the 2nd column contains null

var filteredRows = dataView.getFilteredRows([{column: 1, value:null}]);

console.log(filteredRows);

dataView.setColumns([0, 1]);

// Hide the filtered rows returned

dataView.hideRows(filteredRows);

// Check the number of rows that now exist

console.log(dataView.getNumberOfRows());

var chart = new google.visualization.ColumnChart(document.getElementById('chart'));

chart.draw(dataView, {width: 400, height: 200});

}收藏分享票数 1ENStack Overflow用户发布于 2017-10-24 19:58:06

getDistinctValues可以帮助你做到这一点。当应用于沿Y轴可视化的柱状图时,它适用于折线图。

收藏分享票数 1EN页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持原文链接:https://stackoverflow.com/questions/15476789

复制相关文章

相关推荐