D3.js 此NVD3示例中的超链接

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}]},

我想让每个小数据(圆圈)成为一个可点击的链接。我的真正意图是使每个数据点都有一个模式窗口弹出窗口,但现在我只从一个链接开始,以使它更容易,因为我是一个初学者

我找到了这个链接

并试图修改代码

这是我的数据集,您可以看到,我添加了键/元素(不确定它是哪个)“url”,并指定了一个链接

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 */

}

有关更多信息,请参阅链接。

您找到解决方案了吗?您找到解决方案了吗?