Javascript 如何从Google散点图选择中获取工具提示值

Javascript 如何从Google散点图选择中获取工具提示值,javascript,google-visualization,Javascript,Google Visualization,我试图在谷歌散点图上获取所选实体的工具提示。我创建数据表如下: data = google.visualization.arrayToDataTable([ ['Lines changed', 'TTL', 'Tooltip'], [25, 12, 'Text for first'], [34, 20, 'Text for second'] ]); 然后我可以使用 google.visualization.events.addListener(chart, 'selec

我试图在谷歌散点图上获取所选实体的工具提示。我创建数据表如下:

data = google.visualization.arrayToDataTable([
    ['Lines changed', 'TTL', 'Tooltip'],
    [25, 12, 'Text for first'],
    [34, 20, 'Text for second']
]);
然后我可以使用

google.visualization.events.addListener(chart, 'select', function () {
    // when a point is selected
    var selection = chart.getSelection();
    console.log(data.getValue(selection[0].row, selection[0].column)); // this gives me the Y-value for that row and index
});
有人知道如何从该行和索引而不是Y值获取工具提示文本吗

编辑

我确实可以使用
arrayToDataTable()
方法添加工具提示,方法是设置列属性,如:

data.setColumnProperty(2, 'role', 'tooltip');

这使得第三列(索引2)成为工具提示。只是我无法(轻松地)使用上述方法将HTML添加到工具提示中。我不得不改用
新的google.visualization.DataTable()

您不能使用
arrayToDataTable
向图表添加工具提示。正如政府所说:

google.visualization.arrayToDataTable(twoDArray,opt_firstRowsData)

twoDArray:二维数组,其中每行表示一行 在数据表中。如果opt_firstrowsdata为false(默认值),则 第一行将被解释为标题标签。每个数据库的数据类型 列将根据给定的数据自动进行解释。如果一个细胞 没有值,请根据需要指定null或空值。你不能 使用日期或日期时间值,或JavaScript文字对象表示法 单元格值

改用
addColumn
/
addRows

function drawVisualization() {
    var dataTable = new google.visualization.DataTable();
    dataTable.addColumn('number', 'Lines changed');
    dataTable.addColumn('number', 'TTL');

    // column for tooltip content
    dataTable.addColumn({type: 'string', role: 'tooltip'});

    dataTable.addRows([
        [25, 12, 'Text for first'],
        [34, 20, 'Text for second']
    ]);

    // create and draw the visualization.
    var chart = new google.visualization.ScatterChart(document.getElementById('visualization'));
    chart.draw(dataTable);
}
google.setOnLoadCallback(drawVisualization);
google.visualization.events.addListener(chart, 'select', function() {
    var selection = chart.getSelection();
    // this gives you 'Text for first' / 'Text for second' etc
    console.log(dataTable.getValue(selection[0].row, 2)); 
});
上述代码生成以下散点图:


更新

完全忘记了这个问题:-)下面是如何在单击事件中提取工具提示(几乎与您的代码类似,只是寻址数据表):


在上面davidkonrad的回答的基础上,如果您有多个数据系列,并且希望专门访问与选定数据点关联的工具提示字符串,则可以执行以下操作:

google.visualization.events.addListener(chart, 'select', function () {
    // when a point is selected
    var selection = chart.getSelection();
    console.log(data.getValue(selection[0].row, selection[0].column + 1));
});

这假设每个数据系列都有一个关联的自定义工具提示列。

实际上,我可以使用
arrayToDataTable
添加工具提示,请参见我对问题的编辑。谢谢您的回复,虽然不是答案,但它很有用;)