是否可以将超链接添加到散点图中,所以当我点击数据点时会打开链接?
感谢
答案 0 :(得分:0)
我创建了一个jsfiddle demo来表明可以这样做,但我找不到按照我希望的方式做到这一点的方法。
创建数据集后,我创建了一个数组,该数组的URL列表与显示的结果的顺序相同。当通过单击某个点触发选择事件时,将执行一个函数,在这种情况下会将您带到正确的URL。
数据:
var data = google.visualization.arrayToDataTable([
['Age', 'Weight'],
[ 8, 12 ],
[ 4, 5.5 ],
[ 11, 14 ],
[ 4, 5 ],
[ 3, 3.5 ],
[ 6.5, 7 ]
]);
网址:
var dataUrls = new Array();
for(var i = 0; i < data.D.length; i++) {
dataUrls[i] = 'http://www.'+i+'.com';
}
(在此示例中,我为每个结果创建了一个不同的网址http://www.n.com,其中 n 是索引)
一旦宣布了图表,就可以添加一个事件监听器,该监听器会在点击一个点时触发。
google.visualization.events.addListener(chart, 'select', function() {
try {
window.location = dataUrls[chart.getSelection()[0].row];
} catch(e) {}
});
这里重要的一点是chart.getSelection()[0].row
,这会告诉你这是什么结果,并获得可用于从数组中检索正确URL的“索引”。
如果您在同一窗口中打开页面以外的任何其他内容,则会出现一些错误。基本上,点击同一事件两次会抛出TypeError
,这就是我在try catch语句中包装调用的原因。
正如我所说,可能还有另一种做法,但希望这是一个很好的起点。