谷歌可视化数据表:计算总数
Google visualization DataTable: calculate totals
我正在寻找一种将一行总计添加到简单数据表的方法。这是我的代码:
// Create and populate the data table.
var dt = new google.visualization.DataTable();
dt.addColumn('string', 'Name');
dt.addColumn('number', 'Height');
dt.addRows([
['Tong Ning mu', 174],
['Huang Ang fa', 523],
['Teng nu', 86]
]);
var myTotal;
/* calculate total sum of column Height */
dt.addRow(['TOTAL', myTotal]);
// Create and draw the visualization.
visualization = new google.visualization.Table(document.getElementById('table'));
visualization.draw(dt, null);
如何从数据表中计算dt
myTotal
?
是否可以使最后一行(总计)加粗?
有没有更优雅的方法将总计添加到表中?
创建以下函数:
function getSum(data, column) {
var total = 0;
for (i = 0; i < data.getNumberOfRows(); i++)
total = total + data.getValue(i, column);
return total;
}
使用您创建的Google数据表和列数组索引调用它。在您的情况下:
var total = getSum(dt,1);
然后,您可以将该总数添加到新的原始数据中,或者您想要用它做什么。
由于@Danny的回复与我对列求和的解决方案相同,因此我不会写它。
设置单元格属性 dataTable.setProperty(columnIndex,rowIndex,'style','font-weight:bold;');
所以在你的情况下,你会写
dt.setProperty(0, 3, 'style','font-weight:bold;');
dt.setProperty(1, 3, 'style','font-weight:bold;');
假设您提供了更大的 dataTable,为所有单元格键入此内容可能不方便,您可以使用 for 循环,例如(使整个最后一行加粗):
var lastRow = dt.getNumberOfRows()-1
for (i=0, n=dt.getNumberOfColumns(); i < n; i++) {
dt.setProperty(i, lastRow, 'style', 'font-weight:bold;');
}
遗憾的是,您无法将属性设置为整行/整列(请参阅有关此自定义属性的文档)。
相关文章:
- 如何在谷歌可视化中组合数字和模式格式化程序
- 加载泰坦尼克号可视化数据时出现问题
- 如何使用图表包装函数有条件地格式化谷歌可视化表单元格
- AngularJS&Google可视化-使用状态更改处理程序(Google API)在HTML页面上查看$sco
- Javascript图形可视化工具包,具有高性能(500-1000个节点)
- Google可视化addListener调用函数引用错误
- 如何在web上动态可视化数据集
- 可视化到选择框中
- 从特定系列的谷歌可视化折线图中删除悬停工具提示
- 谷歌图表可视化仪表板数据源问题
- 在可视化中将CSS从悬停更改为单击
- 使用 d3 可视化快速射击的“点击”
- 为 D3 可视化创建平均 Y 线
- 谷歌可视化数据表间歇性问题
- Google 图表 - 设置选择不会滚动到表格可视化中的选定行
- 在纯HTML5中是否可以进行高级可视化编程
- 无法可视化百分比数字(获取 NaN)
- 如何修复谷歌可视化-材料线中的重叠问题
- 预计算Web音频API时域和频谱图可视化
- 谷歌可视化数据表:计算总数