Elg*_*des 4 google-visualization
我正在使用谷歌散点图来显示表面上的缺陷.所有缺陷都有一个ID,当我点击一个点时,我想要一个事件从我可以获取该ID的地方开始,并用它做其他事情.
在谷歌图表中,可以从我可以获取所选内容的地方连接选择处理程序,但如何在不显示数据表的情况下将数据(或任何其他数据)添加到某个点?
例如:
var dataTable = new google.visualization.DataTable();
dataTable.addColumn('number', 'Width');
dataTable.addColumn('number', 'Yellow');
dataTable.addColumn({ type: 'string', role: 'tooltip', 'p': { 'html': true } });
dataTable.addColumn('number', 'Red');
dataTable.addColumn({ type: 'string', role: 'tooltip', 'p': { 'html': true } });
dataTable.addColumn('number', 'Id'); <-- this doesn't work
Run Code Online (Sandbox Code Playgroud)
最后一列我想添加缺陷的ID并通过selectHandler检索它.
dataTable.addRow([123, 123, 'some tooltip', null, null, 999]);
Run Code Online (Sandbox Code Playgroud)
我在这里添加了ID 999.但我不希望图表显示它.如何向点添加其他(隐藏)数据?
您可以添加包含所需信息的额外列,然后使用DataView隐藏它们:
var dataTable = new google.visualization.DataTable();
dataTable.addColumn('number', 'Width');
dataTable.addColumn('number', 'Yellow');
dataTable.addColumn({ type: 'string', role: 'tooltip', 'p': { 'html': true } });
dataTable.addColumn('number', 'Red');
dataTable.addColumn({ type: 'string', role: 'tooltip', 'p': { 'html': true } });
dataTable.addColumn('number', 'Id');
// populate dataTable
var view = new google.visualization.DataView(dataTable);
// exclude column 5 (Id)
view.setColumns([0, 1, 2, 3, 4]);
Run Code Online (Sandbox Code Playgroud)
然后使用DataView而不是DataTable绘制图表.