D3.js 此NVD3示例中的超链接
我想让每个小数据(圆圈)成为一个可点击的链接。我的真正意图是使每个数据点都有一个模式窗口弹出窗口,但现在我只从一个链接开始,以使它更容易,因为我是一个初学者 我找到了这个链接 并试图修改代码 这是我的数据集,您可以看到,我添加了键/元素(不确定它是哪个)“url”,并指定了一个链接D3.js 此NVD3示例中的超链接,d3.js,nvd3.js,D3.js,Nvd3.js,我想让每个小数据(圆圈)成为一个可点击的链接。我的真正意图是使每个数据点都有一个模式窗口弹出窗口,但现在我只从一个链接开始,以使它更容易,因为我是一个初学者 我找到了这个链接 并试图修改代码 这是我的数据集,您可以看到,我添加了键/元素(不确定它是哪个)“url”,并指定了一个链接 var data = [{key: 'Group1', values: [{x: 1, y: 1, url:"https:google.com"}, {x: -2, y: 3}, {x: 4, y: -9}]},
var data = [{key: 'Group1', values: [{x: 1, y: 1, url:"https:google.com"}, {x: -2, y: 3}, {x: 4, y: -9}]},
{key: 'Group2', values: [{x: 2, y: 0}, {x: -4, y: -4}, {x: 1, y: 8}]}];
return data;
然后在第一个链接之后,我将其粘贴到代码的html中
nodeEnter.append("svg:a")
.attr("xlink:href", function(d){return d.url;}) // <-- reading the new "url" property
.append("svg:rect")
.attr("y", -barHeight / 2)
.attr("height", barHeight)
.attr("width", barWidth)
.style("fill", color)
.on("click", click); // <- remove this if you like
nodeEnter.append(“svg:a”)
.attr(“xlink:href”,函数(d){return d.url;})/如果您阅读nvd3散点图的列表,您将看到可以设置多个参数,但不能设置此参数
Nvd3是一个提供可重复使用图表的库,这意味着它们提供了一整套功能,但由于什么是公共的或不是公共的,即使它们试图拥有尽可能多的功能,您也有一些限制。您试图在代码中执行的操作将不起作用,因为在调用nvd3散点图时,您无法直接控制该操作
但是,有一个好消息:Nvd3是开源的,因此您可以修改scatter.js的源代码,以便执行所需操作。如果您阅读Nvd3散点图的源代码,您将看到可以设置多个参数,但不能设置此参数
Nvd3是一个提供可重复使用图表的库,这意味着它们提供了一整套功能,但由于什么是公共的或不是公共的,即使它们试图拥有尽可能多的功能,您也有一些限制。您试图在代码中执行的操作将不起作用,因为在调用nvd3散点图时,您无法直接控制该操作
但是,有一个好消息:Nvd3是开源的,因此您可以修改scatter.js的源代码,以便执行您想要的操作。您可以查看源代码并注释指针事件行
div.tooltip {
position: absolute;
text-align: center;
width: 60px;
height: 28px;
padding: 2px;
font: 12px sans-serif;
background: lightsteelblue;
border: 0px;
border-radius: 8px;
/* pointer-events: none; This line needs to be removed */
}
有关更多信息,请参阅链接。您可以查看源代码并注释指针事件行
div.tooltip {
position: absolute;
text-align: center;
width: 60px;
height: 28px;
padding: 2px;
font: 12px sans-serif;
background: lightsteelblue;
border: 0px;
border-radius: 8px;
/* pointer-events: none; This line needs to be removed */
}
有关更多信息,请参阅链接。您找到解决方案了吗?您找到解决方案了吗?