gpt4 book ai didi

javascript - 如果行为空,则隐藏或删除 Google 图表中的列

转载 作者:行者123 更新时间:2023-12-02 17:07:31 24 4
gpt4 key购买 nike

在谷歌图表(表格是图表类型)中,如何确定列中的行是否为空,然后隐藏该列?
例如:

[男孩] [女孩]
[ 1 ] [ ]
[ 3 ] [ ]
[3][]

女孩列为空,因此隐藏或删除它,导致表格图表仅显示男孩列。

[男孩]
[1]
[3]
[3]

这是我的代码示例:

var datatable = new google.visualization.DataTable();

var rows = [
{
"Year": 2014,
"Period": 3,
"Segment": "*",
"AnswerOption": 0,
"AnswerValue": 5,
"ResultCount": 2,
"ResultAverage": 33.3333
},
{
"Year": 2014,
"Period": 4,
"Segment": "*",
"AnswerOption": 0,
"AnswerValue": 5,
"ResultCount": 5,
"ResultAverage": 100.00
}
]

datatable.addColumn('string', 'Year');
datatable.addColumn('number', 'Period');
datatable.addColumn('string', 'Segment');
datatable.addColumn('string', 'AnswerOption');
datatable.addColumn('number', 'AnswerValue');
datatable.addColumn('number', 'ResultCount');
datatable.addColumn('number', 'ResultAverage');


for(var j=0; j < rows.length; j++) {
datatable.addRows([
[
String(rows[j].Year),
rows[j].Period,
rows[j].Segment,
rows[j].AnswerOption,
rows[j].AnswerValue,
rows[j].ResultCount,
rows[j].ResultAverage,
]
]);
}

在此示例中,所有 AnswerOption 均为 0,因此 Google 图表显示一个空单元格。

最佳答案

您可以解析 DataTable 并构造一个仅包含非空列的 DataView:

// assumes you have a DataTable "data"
var columns = [];
for (var i = 0; i < data.getNumberOfColumns(); i++) {
for (var j = 0; j < data.getNumberOfRows(); j++) {
if (data.getValue(j, i) !== null) {
// add the column to the array if we find a value in it
columns.push(i);
// break because we don't need to search this column any more
break;
}
}
}
var view = new google.visualization.DataView(data);
view.setColumns(columns);

然后使用view来绘制表格,而不是使用DataTable。

关于javascript - 如果行为空,则隐藏或删除 Google 图表中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25113425/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com